Contributing
Synaplan is Apache-2.0 licensed and developed in the open. Contributions — bug reports, fixes, features, docs, plugins — are welcome.
Where things live
| Repo | Purpose |
|---|---|
| synaplan | Main app: Symfony PHP backend, Vue 3 frontend, plugins, deploy/ contract |
| synaplan-docs | This documentation site (docs.synaplan.com) |
| Synamail | Outlook add-in |
| synaplan-nextcloud | Nextcloud integration |
| synaplan-opencloud | OpenCloud integration |
| synaplan-tts | Optional Piper TTS service |
| synaplan-charts | Helm charts for Kubernetes |
| synaplan-platform | Production deployment configs |
| All repositories | The full metadist organization |
Ground rules (main repo)
The development guidelines and code standards live in AGENTS.md at the repo root. The short version:
- English for all code, comments and commit messages.
- Conventional Commits (
feat:,fix:,refactor:,docs:, …). - Feature branches + pull requests — never commit directly to
main. - Run the quality gate before committing — lint, static analysis and the full test suites run inside the Docker containers via the
maketargets.
Development setup, commands and architecture notes: docs/DEVELOPMENT.md.
Writing plugins
Synaplan has a non-invasive plugin system, so you can extend the platform without forking it. Architecture, the plugin manifest, and an install walkthrough are on the Plugins & Integrations page (see For developers: the plugin architecture).
Getting help & reporting issues
- Discord — chat with the team and community; the fastest place for questions
- GitHub Issues — bugs and feature requests