Thank you for your interest in contributing to claude-node.
claude-node is a thin subprocess-based Python bridge for persistent Claude Code sessions.
It runs the installed claude CLI as the runtime, giving Python code direct access to Claude Code's native behavior through the CLI itself. This approach achieves the highest compatibility with the Claude Code CLI.
This project is not:
- a workflow engine
- a memory framework
- an orchestration platform
- a higher-level reimplementation of Claude Code
This project is:
- a Python bridge to the
claudeCLI runtime - a persistent session controller for
claude --input-format stream-json - a protocol reference implementation for the stream-json mode
Before opening a PR, ask: does this still belong to a thin Claude Code session bridge?
If the answer is "this is really a workflow engine / memory system / platform feature," it belongs in another project.
Priority areas for contributions:
- Runtime bridge reliability
- Session control robustness
- Protocol observability
- Testing coverage
pip install -e .
pip install -e .[dev] # if availablepython -m pytest tests/unit -qpython -m pytest tests/integration -qIntegration tests are opt-in because they require a working claude binary in PATH.
- Small, focused PRs — one concern per PR
- Tests for new behavior — every new behavior must have corresponding tests
- Docs match code — if you change behavior, update the relevant docs
- No scope creep — don't use a PR to add features unrelated to the stated purpose
- Descriptive commit messages — explain the why, not just the what
- Follow existing patterns in the codebase
- Keep functions small and single-purpose
- Prefer explicit over clever
- No new dependencies without strong justification