Contributing to Stack 2.9
Last updated: April 2026
Thank you for your interest in contributing to Stack 2.9! This document outlines how you can help.
Project State
Before contributing, understand where the project stands:
| Area | Status | Notes |
|---|---|---|
| Basic code generation | ✅ Working | Main strength of the model |
| Tool calling | ⚠️ Not trained | Needs fine-tuning on tool patterns |
| Benchmark scores | ⚠️ Pending | Full evaluation not yet run |
| Self-evolution | 🔧 Incomplete | Components exist but not connected |
| Documentation | 🔧 In progress | Some areas need work |
Quick Start
# 1. Fork the repository
git fork https://github.com/my-ai-stack/stack-2.9.git
# 2. Clone your fork
git clone https://github.com/YOUR_USER/stack-2.9.git
cd stack-2.9
# 3. Create a virtual environment
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# or .venv\Scripts\activate on Windows
# 4. Install dependencies
pip install -r requirements.txt
What to Work On
High Priority
Evaluation - Run full HumanEval/MBPP benchmarks
- See
stack/eval/run_proper_evaluation.py - Requires: Python, Ollama or API key
- See
Tool calling tests - Test and document tool usage
- Run
python stack.py -c "Your command here" - Report what works/doesn't in issues
- Run
Documentation - Improve tool definitions, API docs
- Check
docs/TOOLS.mdfor accuracy - Update
stack/internal/ARCHITECTURE.md
- Check
Medium Priority
Training scripts - Improve fine-tuning pipeline
- See
stack/training/ - ⚠️ Do NOT modify Kaggle notebook or training data generation
- See
Deployment - Fix deployment scripts
- See
stack/deploy/,runpod_deploy.sh
- See
Lower Priority
- Pattern Memory - Connect Observer → Learner → Memory → Trainer
- Voice integration - Test end-to-end voice pipeline
- MCP support - Improve Model Context Protocol integration
What NOT to Touch
⚠️ Do NOT modify without explicit approval:
kaggle_train_stack29_v5.ipynb- Kaggle training notebookcolab_train_stack29.ipynb- Colab training notebook- Training data generation scripts in
data/ - Model weights in
base_model_qwen7b/
These are core training components. Changes here affect the model itself.
Code Style
- Python: Follow PEP 8, use type hints where possible
- TypeScript: Use strict mode, add JSDoc comments
- Shell: Use
shellcheckon bash scripts - General: Add docstrings to new functions, include examples
Pre-commit Checks
# Run tests before submitting
pytest samples/ -v
# Check code formatting
ruff check src/ samples/ --fix
black src/ samples/
##提交PR
# Create a feature branch
git checkout -b feature/your-feature-name
# Make your changes
# ... edit files ...
# Run tests
pytest samples/ -v
# Commit with clear message
git commit -m "Add: description of what you changed"
# Push to your fork
git push origin feature/your-feature-name
# Open a Pull Request
# Fill in the PR template with:
# - What you changed
# - Why it's needed
# - Testing you did
# - Screenshots if applicable
Pull Request Guidelines
- Describe the change clearly - What does this fix or add?
- Link related issues - Use "Fixes #123" if applicable
- Include tests - Add unit tests for new features
- Update docs - If you add a feature, document it
- Be patient - Reviewers may take a few days to respond
Reporting Issues
When reporting bugs:
## Description
Brief description of the issue
## Steps to Reproduce
1. Run `...`
2. See error
## Expected Behavior
What should happen
## Actual Behavior
What actually happened
## Environment
- OS:
- Python version:
- Provider: (ollama/openai/etc)
- Model:
Communication
- Issues: GitHub Issues for bugs/features
- Discussions: GitHub Discussions for questions
- Discord: Link in README
Recognition
Contributors will be listed in:
- README.md "Acknowledgments" section
- CONTRIBUTORS file (if created)
Questions? Open a GitHub Discussion or ask in Discord.