Contributing
Contributions to Acolyte are welcome! This guide covers the workflow for both the app and these docs.
Workflow
-
Fork the repository on GitHub.
-
Create a feature branch from
main:git checkout -b feature/your-feature-name -
Make your changes and ensure tests pass.
-
Run the quality checks:
npm testnpm run check -
Commit with clear, semantic messages.
-
Push to your fork and open a Pull Request against
main.
CI runs the build, lint/format checks, and tests on every PR — see Development → Continuous integration.
Guidelines
- Use TypeScript for all new code.
- Follow the existing style (enforced by Biome).
- Write tests for new features and bug fixes.
- Use semantic commit messages.
- Update documentation when adding or changing features.
Documentation
These docs are a Docusaurus site living in the docs/
directory of the repository. They are published to GitHub Pages automatically.
Editing the docs
cd docs
npm install
npm start
This starts a local dev server (default http://localhost:3000) with hot reload.
- Documentation pages are Markdown files under
docs/docs/. - The sidebar is generated from the folder structure and the
_category_.jsonfiles; per-page order is controlled by thesidebar_positionfront matter. - To add a page, drop a new
.mdfile into the appropriate folder.
Build the static site locally to verify it compiles:
cd docs
npm run build
How docs are deployed
A GitHub Actions workflow,
.github/workflows/docs.yml,
handles documentation CI/CD:
- On pull requests that touch
docs/**, it builds the site to catch errors early (no deploy). - On push to
mainthat touchesdocs/**, it builds and deploys to GitHub Pages.
The published site is served at https://jbouder.github.io/acolyte/ (matching
the url + baseUrl in
docs/docusaurus.config.ts).
For deployment to work, enable GitHub Pages for the repository with Settings → Pages → Build and deployment → Source = GitHub Actions.
Reporting issues
Found a bug or have a feature idea? Open an issue at github.com/jbouder/acolyte/issues.