Thanks for your interest in contributing! This project is a documentation-only repository — it contains the specification, architecture docs, and guides for the Towlion Platform, built with MkDocs Material.
- Open a GitHub issue describing the problem or idea.
- For bugs, include steps to reproduce and what you expected to happen.
- For feature requests, explain the use case and why it would be valuable.
- Fork the repository.
- Create a branch from
mainwith a descriptive name (e.g.fix/typo-in-deployment,docs/add-monitoring-guide). - Make your changes — see the documentation conventions below. Follow the commit conventions for your commit messages.
- Open a pull request against
mainwith a clear description of what changed and why.
All towlion repositories follow standard governance policies including branch protection, PR templates, and commit conventions.
- All documentation lives in the
docs/directory as Markdown files. - Site configuration is in
mkdocs.yml. - Use standard Markdown with the extensions enabled in
mkdocs.yml(admonitions, code highlighting, tabbed content, etc.). - Keep language clear and concise. Prefer short paragraphs and bullet points.
- Use code fences with language tags for all code/config examples.
You only need Python and MkDocs Material to preview the docs locally:
pip install mkdocs-material
mkdocs serveThen open http://127.0.0.1:8000 in your browser. The site auto-reloads on file changes.
The platform includes a validator that checks app repositories against the application specification. Run it against any app directory:
python validator/validate.py /path/to/your-appThe validator checks three tiers: file structure, configuration, and runtime compliance. All tiers should pass before deploying.
Scripts in the infrastructure/ directory follow these conventions:
- ShellCheck clean — all scripts pass
shellcheckwith no warnings - Idempotent — every section is guarded with existence checks; safe to re-run
- No interactive prompts in automated scripts (cron jobs, CI steps)
- Documented — see
docs/server-contract.mdfor the full scripts reference table
When modifying infrastructure scripts, test on a fresh Debian 12 server or verify with infrastructure/verify-server.sh.
For day-to-day server operations, see the runbooks:
This project follows the Contributor Covenant v2.1. By participating, you agree to uphold its standards.