opsdash-app/CONTRIBUTING.md
blade34242 110dc428ee
Some checks failed
Nextcloud Server Tests / version-consistency (push) Successful in 26s
Nextcloud Server Tests / matrix-config (push) Successful in 28s
Nextcloud Server Tests / Nextcloud stable30 / PHP 8.2 (stable30, 8.2) (push) Successful in 4m10s
Nextcloud Server Tests / Nextcloud stable31 / PHP 8.2 (stable31, 8.2) (push) Successful in 4m31s
Nextcloud Server Tests / Nextcloud stable31 / PHP 8.3 (stable31, 8.3) (push) Successful in 4m29s
Nextcloud Server Tests / Nextcloud stable32 / PHP 8.2 (stable32, 8.2) (push) Successful in 4m26s
Nextcloud Server Tests / Nextcloud stable32 / PHP 8.3 (stable32, 8.3) (push) Has been cancelled
Nextcloud Server Tests / Nextcloud stable33 / PHP 8.2 (stable33, 8.2) (push) Has been cancelled
Nextcloud Server Tests / Nextcloud stable33 / PHP 8.3 (stable33, 8.3) (push) Has been cancelled
feat: add nextcloud 33 support
2026-04-23 16:05:44 +07:00

1.3 KiB

Contributing Guide

Thanks for your interest in improving this app! A few guidelines:

Long-form internal docs, release runbooks, and ops notes live in the sibling opsdash-docs and opsdash-ops workspace repos. Keep this repo's docs limited to contributor-facing guidance.

Development

  • Requirements: Node.js 20+, Nextcloud 30-33.
  • Install deps: npm ci
  • Build: npm run build (produces js/.vite/manifest.json + hashed assets).
  • Dev: npm run dev for frontend iteration; build for NC integration.

Coding Standards

  • PHP: PSR-12, strict types where possible, thin controllers, logic in services.
  • TypeScript: prefer strict typing, avoid any, keep components small (<150 LOC).
  • Security: never add state changes to read endpoints; POST+CSRF for writes.
  • CSP: no inline scripts; minimize inline styles (prefer CSS classes/files).

Commits & PRs

  • Keep PRs scoped; include tests or testing steps.
  • Update app-facing docs (README.md, SECURITY.md, CHANGELOG.md, this file) when behavior changes.
  • Update sibling long-form docs when architecture, release, or ops workflows move.
  • Describe any performance impact and migration notes.
  • npm run test:unit (Vitest) and composer run test:unit (PHPUnit).

Reporting Issues

  • Include NC version, app version, steps to reproduce, and server logs (sanitized).