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 Desktop Companion app (Windows / macOS / Linux) — preview; see Synaplan Desktop
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

Documentation site pages

This site is a Markdown catalog rendered by index.php. Every page must be registered in the $docsMap array there (and listed in $sections). That catalog is also what the Synaplan chat assistant learns from: the site exports it as /docs-manifest.json and /raw/{slug}.md, and an install syncs those pages into its documentation corpus. A page that is not in $docsMap will not appear in the sidebar, the sitemap, or the assistant's answers.

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 make targets.

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