Thank you for considering contributing to CodeNarrator.
This project exists because of contributors like you. We welcome developers of all experience levels — whether it is your first open-source contribution or your 100th.
You can contribute in several ways:
- Bug Fixes — Report or fix issues you encounter.
- New Features — Add functionality like new CLI flags, model support, or integrations.
- Documentation — Improve README, usage examples, or generated docs.
- Testing — Write or improve unit tests for CLI and core modules.
- UI/UX (Future) — Help build the planned React.js web dashboard.
-
Fork the repository
Click the "Fork" button at the top right of this repository. -
Clone your fork
git clone https://github.com/<your-username>/CodeNarrator.git cd CodeNarrator
-
Install dependencies
npm install
-
(Optional) Configure API Key
echo "GEMINI_API_KEY=your-key" > .env
-
Run in development
npm run dev
-
Link CLI locally
npm link
-
Create a new branch
git checkout -b feature/your-feature-name
-
Make your changes Follow the existing coding style and keep commits small and focused.
-
Run tests
npm test -
Commit changes
git commit -m "Add: support for --apikey flag in CLI" -
Push branch and open a Pull Request (PR)
git push origin feature/your-feature-name
Then open a PR on GitHub.
We use labels to help contributors find issues:
good first issue→ Beginner-friendly taskshelp wanted→ Tasks that need community inputenhancement→ Requests for new featuresbug→ Issues to be fixeddocumentation→ Documentation improvements
During Hacktoberfest, PRs to issues with these labels count toward your contributions if the repository has the hacktoberfest topic.
Please follow our Code of Conduct. We expect contributors to maintain a respectful and inclusive environment.
- Do not commit
.envor private API keys. - Add or update tests if you introduce new functionality.
- Open an issue or discussion before starting work on a major feature.
- Ask questions in Issues or Discussions if you are unsure about anything.
By contributing, you agree that your contributions will be licensed under the MIT License.
Every contribution — whether code, documentation, or feedback — helps us build a tool that makes codebases more readable and approachable for developers everywhere.