Contributing
Contributions are welcome. The project is dual licensed under MIT and Apache 2.0 — see the About page for details.
Bug reports and feature requests
Open an issue on GitHub. For bugs, include the aphid --version output, the command you ran, and what you expected to happen versus what did.
Pull requests
- Fork the repository and create a branch from
main. - Make your changes. Keep commits focused — one logical change per commit.
- Run the full check suite before opening the PR:
- Use Conventional Commits for commit messages:
feat:,fix:,docs:,refactor:,test:,chore:, etc. - Open the PR against
main. The CI workflow runs the same checks automatically.
Development setup
Run the binary against the docs site to exercise a real build:
Serve it locally:
Project structure
The source follows the module layout described in the repository's CLAUDE.md. Key areas:
| Path | Purpose |
|---|---|
src/content/ | Pass 1 — frontmatter parsing, slug indexing, backlink graph |
src/markdown/ | Pass 2 — pulldown-cmark pipeline: wiki-links, anchors, highlighting |
src/render/ | Tera renderer and theme loading |
src/output.rs | Output directory management and page writing |
src/serve/ | Axum dev server, file watcher, live reload |
src/lib.rs | Top-level build() and serve() entry points |
tests/ | Integration tests against fixture sites |
docs/ | This documentation site |
default-theme/ | The embedded default theme |
Linked from