Thanks for your interest in contributing to TURING — the autonomous state machine for cognitive continuity in Claude Code!
- Fork the repository
- Clone your fork locally
- Make your changes
- Test with Claude Code locally
# Install the plugin locally
claude /install ./
# Clear plugin cache after changes
rm -rf ~/.claude/plugins/cache/turing*
# Start fresh Claude session to pick up changes
claude
# Test hooks by triggering compaction
/compact# Test capture (PreCompact)
echo '{"session_id":"test-123","trigger":"auto","transcript_path":""}' | \
bash ./claude-code/plugins/turing/scripts/capture-context.sh
# Test restore (SessionStart - startup)
echo '{"session_id":"new-session","source":"startup"}' | \
bash ./claude-code/plugins/turing/scripts/restore-context.sh
# Test restore (SessionStart - compact)
echo '{"session_id":"test-123","source":"compact"}' | \
bash ./claude-code/plugins/turing/scripts/restore-context.sh
# Test status
bash ./claude-code/plugins/turing/scripts/turing-status.sh
bash ./claude-code/plugins/turing/scripts/turing-status.sh --global- Check existing issues first to avoid duplicates
- Use a clear, descriptive title
- Include steps to reproduce the issue
- Include relevant debug output (see CLAUDE.md for debug mode)
- Describe expected vs actual behavior
- Open an issue describing the feature
- Explain the use case and why it would be valuable
- Consider impact on token efficiency and dependencies
- Be open to discussion about implementation approaches
- Create a branch from
mainfor your changes - Make your changes with clear, focused commits
- Test all scripts locally (capture, restore, status)
- Ensure macOS and Linux compatibility
- Open a PR with a clear description of changes
- Link any related issues
- Use
set -efor early exit on errors - Handle TTY detection gracefully (
|| true) - Use single-quoted
'PYEOF'for Python heredocs - Pass variables via environment, not heredoc substitution
- Support both macOS and Linux (e.g.,
sed -idifferences) - Avoid bash 4+ features (macOS ships bash 3.2)
- Use YAML frontmatter for machine-parseable metadata
- Include priority markers (
<!-- PRIORITY: LEVEL -->) - Generate checksums for verification
See CLAUDE.md for detailed development guidelines.
- Token optimization: Improve priority filtering or compression
- Session discovery: Better heuristics for multi-terminal scenarios
- Decision extraction: Additional patterns for auto-extraction
- Platform support: Windows compatibility (PowerShell)
- Documentation: Examples, edge cases, troubleshooting
- Testing: Automated test suite
claude-code/plugins/turing/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── hooks/
│ └── hooks.json # Hook definitions
├── scripts/
│ ├── capture-context.sh # PreCompact handler
│ ├── restore-context.sh # SessionStart handler
│ └── turing-status.sh # Status utility
├── commands/
│ ├── turing-save.md # Manual save command
│ └── turing-status.md # Status command
└── templates/
└── turing-precompact.md # Protocol template
Open an issue or reach out to the maintainers. We're happy to help!