Contributing to adocfmt
June 4, 2026 ยท View on GitHub
Thank you for your interest in contributing to adocfmt! We welcome all contributions, from bug reports and documentation improvements to new features and formatting rules.
Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct.
How Can I Contribute?
Reporting Bugs
- Use the Bug Report template.
- Include as much detail as possible, especially the AsciiDoc input and the expected vs. actual output.
Suggesting Enhancements
- Use the Feature Request template.
- Explain the "why" behind the suggestion and how it would improve the tool.
Pull Requests
- Fork the repo and create your branch from
main. - Add tests for your changes. We maintain high standards for idempotence and semantic equivalence.
- Run the full suite:
mvn verifyshould pass. - Follow the style: Adhere to the existing coding style and project architecture (zero runtime dependencies for the core library).
- Small is better: We prefer small, focused PRs.
Development Environment
- Java: Current LTS (21) is recommended for development; the library targets Java 11 bytecode.
- Maven: Multi-module setup (
core,cli).
Correctness Invariants
Any formatting change must satisfy:
- Idempotence:
format(format(x)) == format(x). - Protected Regions: Never modify content inside blocks like
----,....,++++,////, or[source]. - Semantic Equivalence: The normalized HTML output must remain identical.
Thank you for making adocfmt better!