First off, thanks for taking the time to contribute! 🎉
⭐️ Star this repo — it helps other developers discover codemap ❤️ Sponsor — github.com/sponsors/FMATheNomad — supports solo founder development
- Check if the bug already exists in Issues
- Use the bug report template when creating an issue
- Include:
- VS Code version (
code --version) - OS and version
- Reproduction steps (minimal repo if possible)
- Expected vs actual behavior
- VS Code version (
- Check if the feature is already planned in Roadmap
- Open a feature request issue describing:
- The problem you're trying to solve
- How codemap could help
- Alternative solutions you've considered
- Code compiles cleanly (
npm run compile) - Tests pass (
npm test) - No new warnings or errors
- Follows existing code style
- Updated CHANGELOG.md if adding a feature
git clone https://github.com/FMATheNomad/codemap
cd codemap
npm install
npm run compile
code .
# F5 to debug- TypeScript — strict mode, no
anytypes - No comments in production code — code should be self-documenting
- ES2022 features preferred (optional chaining, nullish coalescing, etc.)
- Small, focused files — one responsibility per file
- Async where possible — use
async/awaitover raw promises
- Create a new parser file in
src/parser/implementing theParserinterface - Register the language extension in
src/parser/index.ts#detectLanguage() - Add the parser to
src/parser/index.ts#parseFile() - Add test fixtures to
test/fixtures/<language>/ - Add parser tests in
test/suite/parser.test.ts
npm testThe test suite includes:
- Parser tests — verify each language parser detects imports correctly
- Graph tests — verify circular detection, centrality, orphan computation
- Test fixtures in
test/fixtures/provide sample projects
See README.md#-roadmap for planned features. Priority items:
- Go parser support
- Rust parser support
- File watcher auto-refresh
- Export as PNG/SVG
By contributing, you agree that your contributions will be licensed under the MIT License.
Questions? Open a Discussion or Issue.