Thank you for your interest in contributing to the Recursive Engine: Generative Entity project.
Be respectful and constructive. This project explores themes of myth, identity, and symbolic systems - diversity of perspective is valued.
- Use GitHub Issues for bug reports and feature requests
- Include clear reproduction steps for bugs
- For documentation issues, specify which file and section
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes
- Run tests:
pytest - Commit with clear messages
- Push and open a pull request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/recursive-engine.git
cd recursive-engine
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest -v- Follow PEP 8 style guidelines
- Add type hints where possible
- Write tests for new functionality
- Document public APIs with docstrings
When editing specification documents:
- Maintain the ritual/mythic tone and formatting conventions
- Use the established tag system (
CANON+,ECHO+,ARCHIVE+, etc.) - Respect inter-organ routing logic (Soul Patchbay as hub)
- Follow the file naming convention:
RE-GE_[TYPE]_[NUMBER]_[NAME].md
- Create specification in
docs/organs/RE-GE_ORG_BODY_XX_NAME.md - Implement handler in
rege/organs/name.py - Register in
rege/organs/registry.py - Add valid modes to
rege/parser/validator.py - Write tests in
rege/tests/
- Create specification in
docs/protocols/RE-GE_PROTOCOL_NAME.md - Implement in
rege/protocols/name.py - Write tests in
rege/tests/
All contributions should include tests:
# Run full test suite
pytest
# Run with coverage report
pytest --cov=rege --cov-report=html
# Run specific tests
pytest rege/tests/test_parser.py -v -k "test_parse_basic"Use clear, descriptive commit messages:
Add shadow_work mode to MirrorCabinet organ
- Implement shadow archetype detection
- Add integration with Ritual Court for high-charge reflections
- Update validator with new mode
Open an issue with the "question" label for any clarifications.