Thanks for your interest in contributing!
git clone https://github.com/ThinkyMiner/codeTree.git
cd codeTree
python -m venv .venv
source .venv/bin/activate
pip install -e .
pip install pytest
pytest # 999 tests, ~30s- New language support — the most impactful contribution. See below.
- Bug fixes — check open issues labeled
bug - Tool improvements — better output formats, edge cases, performance
- Documentation — README, docstrings, examples
pip install tree-sitter-LANGand add topyproject.toml- Copy
src/codetree/languages/_template.pytolanguages/yourlang.py - Implement the 5 abstract methods +
check_syntax - Register extensions in
src/codetree/registry.py - Add tests in
tests/languages/test_yourlang.py(usetest_python.pyas reference) - Run
pytestto verify everything passes
# All tests
pytest
# Single file
pytest tests/languages/test_python.py -v
# Single test
pytest tests/languages/test_python.py::test_skeleton_finds_class -vNo linter or formatter is configured. Follow existing patterns:
- Plugin classes:
{Lang}Plugin(e.g.,PythonPlugin,GoPlugin) - Module-level parser/language globals:
_PARSER,_LANGUAGE - Skeleton results deduplicated by
(name, line), sorted by line number
- Open an issue first for larger changes
- Create a branch from
main - Write tests for any new behavior
- Ensure all tests pass (
pytest) - Submit a PR using the template