Thank you for your interest in contributing! AiDex is a community-driven project and we welcome all kinds of contributions.
- Bug reports — Found something broken? Open an issue
- Feature requests — Have an idea? Start a Discussion
- Code contributions — PRs are welcome (see below)
- Language support — Add keyword filters for new languages in
src/parser/languages/ - Documentation — Improve README, add examples, fix typos
- Share your setup — Tell us how you use AiDex in Show & Tell
- Check existing issues and discussions to avoid duplicates
- For larger changes — open a Discussion or issue first to align on the approach
- For bug fixes — a PR is always welcome, no prior discussion needed
git clone https://github.com/CSCSoftware/AiDex.git
cd AiDex
npm install
npm run buildAfter changes:
npm run build # Recompile TypeScriptRegister the local build in your MCP client (Claude Code ~/.claude/settings.json):
{
"mcpServers": {
"aidex": {
"command": "node",
"args": ["/path/to/AiDex/build/index.js"]
}
}
}src/
├── commands/ # Tool implementations (one file per tool)
├── parser/ # Tree-sitter + language keyword filters
├── db/ # SQLite schema + queries
├── server/ # MCP protocol + tool handler
└── viewer/ # Interactive browser UI
Adding a new language? Drop a keyword file in src/parser/languages/ — look at an existing one for the format.
- Keep PRs focused — one feature or fix per PR
- Update
CHANGELOG.mdwith a brief description under[Unreleased] - If you add a new tool, document it in
MCP-API-REFERENCE.md - TypeScript — match the existing code style (no strict enforcement, just consistency)
Please do not open a public issue for security vulnerabilities. Contact us directly at u.chalas@csc-software.de.
Head over to GitHub Discussions — we're happy to help.