Thanks for helping improve Ananke. This document describes the current contribution workflow for this repository.
- Ways to Contribute
- Release Process
- Before You Start
- Reporting Bugs and Requesting Features
- Pull Request Workflow
- Circumventing Git Hooks
- Documentation Contributions
- Attribution
- License
- Report bugs
- Suggest enhancements
- Improve documentation
- Improve templates, styles, or assets
- Improve translations in
i18n/*.toml
The project follows a structured release workflow based on conventional commits, staging branches, and automated versioning.
For details, see RELEASES.md.
-
Use a compatible Hugo version (see
config/_default/module.tomlfor the current state). -
Install dependencies:
npm install
-
Run a local preview via
npm runinstead of just callinghugo server:npm run server
This runs the documentation site from
site/using contents fromdocs/with local configuration. -
Follow the coding style and format commit messages as described in the conventional commits specification (for example:
docs: add troubleshooting sectionorfix: correct hero image path). -
Make sure to install git hooks for linting and testing before you push changes:
npm run prepare
This command is run automatically after
npm installbut you can run it manually to set up hooks in an existing clone or update changed hooks. It usessimple-git-hooksto install a commit hook that runslint-stagedfor markdown files, which in turn runs linting tasks on staged files.
- Open bugs in GitHub Issues.
- Start feature or idea discussions in GitHub Discussions.
- Include clear reproduction steps, expected behaviour, actual behaviour, and versions (
hugo version, OS, browser if relevant).
-
Fork the repository and create a focused branch.
-
Keep the change set small and cohesive (which means, DO NOT introduce multiple changes in a single PR).
-
Update docs for all user-facing changes.
-
Run quality checks locally:
npm run lint:markdown
-
If your change affects behaviour, validate with Hugo locally (for example
hugoorhugo serverin the relevant project). -
Open a pull request with:
- a clear summary,
- motivation/context,
- screenshots when UI/visual output changes,
- linked issues (for example:
Fixes #123).
To prevent git commit and git push from running hooks you can use the --no-verify flag:
git commit --no-verify -m "docs: update README"
git push --no-verify origin my-feature-branchThis should be used sparingly and only when you have a good reason to bypass checks. If you find yourself needing to use --no-verify frequently, please consider improving the hooks or contributing fixes to reduce false positives.
Documentation lives in multiple places:
- Main project overview:
README.md - Contributor docs:
CONTRIBUTING.md - Theme docs content:
docs/
Please keep links relative where possible and remove stale references when updating pages.
If you want to receive attribution for your contribution please follow the contribution guidelines to add yourself to the list of contributors in the Ananke theme documentation. A permanently open issue to add your contribution can be found at the documentation repository. Read the initial message to understand how to add yourself to the list of contributors.
By contributing, you agree that your contributions are provided under the repository license in LICENSE.md.