opsdash-app/CONTRIBUTING.md
blade34242 afa9ea60e8
Some checks failed
Nextcloud Server Tests / version-consistency (push) Successful in 44s
Nextcloud Server Tests / matrix-config (push) Successful in 33s
Nextcloud Server Tests / Nextcloud stable30 / PHP 8.2 (stable30, 8.2) (push) Has been cancelled
Nextcloud Server Tests / Nextcloud stable31 / PHP 8.2 (stable31, 8.2) (push) Has been cancelled
Nextcloud Server Tests / Nextcloud stable31 / PHP 8.3 (stable31, 8.3) (push) Has been cancelled
Nextcloud Server Tests / Nextcloud stable32 / PHP 8.2 (stable32, 8.2) (push) Has been cancelled
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
Prepare 0.8.2 release
2026-07-09 10:49:57 +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-34.
  • 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).