Quack Docs is your AI-powered documentation sidekick, built on Amazon Q to help you write, clean, and maintain beautiful code documentation—without the grunt work.
Whether you're managing a solo project or collaborating across teams, Quack Docs automates documentation with precision and ease.
Quack Docs streamlines code documentation by:
- 📄 Generating clean, structured Markdown documentation from your codebase.
- 🧠 Injecting smart, context-aware docstrings directly into your code—without altering logic.
- ⚡ Boosting code clarity and maintainability, saving you time for what matters: building.
- 🔍 Auto language detection via file extensions (supports Python, JS, Go, Java, C++, and more).
- 📑 Markdown export with elegant formatting and syntax-highlighted code blocks.
- 🧾 Inline docstring injection powered by Amazon Q’s understanding—safe and non-destructive.
- 💬 CLI-first workflow, easy to integrate into any dev pipeline.
Under the hood, Quack Docs leverages the Amazon Q CLI to analyze and document your source files.
Choose between two modes:
- Markdown mode: Generates external
.md
docs. - In-place mode: Enhances code with inline docstrings.
- Python 3.8 or higher, you can download it from python.org.
- pipx for installing Python applications in isolated environments.
- Amazon Q CLI for code analysis and documentation generation.
- An AWS account or a Builder ID to use the Amazon Q CLI (free plan), you can create one here.
git clone https://github.com/wesleybertipaglia/quack-docs.git
cd quack-docs
python3 -m pip install --user pipx
python3 -m pipx ensurepath
Follow these steps to install and authenticate:
q login
# using make
make install
# or using pipx
pipx install .
That's it, now
quack-docs
is ready to use! 🎉
quack-docs --file path/to/your_file.py
➡️ Creates a Markdown file like:
./docs/quack_your_file_20250510_103000.md
You can also choose a custom output directory:
quack-docs --file path/to/your_file.py --output ./my_docs/
➡️ Creates:
./my_docs/quack_your_file_20250510_103000.md
quack-docs --file path/to/your_file.py --inplace
➡️ Overwrites your file with inline docstrings.
You can optionally save the modified file into a different directory while preserving its filename:
quack-docs --file path/to/your_file.py --inplace --output ./src/
➡️ Saves:
./src/your_file.py
--output
parameter must always be a directory path, not a full file path.
Mode | Description | Default Output | Customizable |
---|---|---|---|
Markdown | Generates external .md documentation |
./docs/ |
✅ via --output |
In-place | Inserts docstrings into your code file | Overwrites source file | ✅ via --output |
Suggestions, issues, or ideas? Open a PR or file an issue—we’d love to hear from you!
MIT License. See the LICENSE file for details.