Stack-2-9-finetuned / docs /CONTRIBUTING.md
walidsobhie-code
reorganize: consolidate root level to 20 folders
b8e3e42

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

  1. Evaluation - Run full HumanEval/MBPP benchmarks

    • See stack/eval/run_proper_evaluation.py
    • Requires: Python, Ollama or API key
  2. Tool calling tests - Test and document tool usage

    • Run python stack.py -c "Your command here"
    • Report what works/doesn't in issues
  3. Documentation - Improve tool definitions, API docs

    • Check docs/TOOLS.md for accuracy
    • Update stack/internal/ARCHITECTURE.md

Medium Priority

  1. Training scripts - Improve fine-tuning pipeline

    • See stack/training/
    • ⚠️ Do NOT modify Kaggle notebook or training data generation
  2. Deployment - Fix deployment scripts

    • See stack/deploy/, runpod_deploy.sh

Lower Priority

  1. Pattern Memory - Connect Observer → Learner → Memory → Trainer
  2. Voice integration - Test end-to-end voice pipeline
  3. MCP support - Improve Model Context Protocol integration

What NOT to Touch

⚠️ Do NOT modify without explicit approval:

  • kaggle_train_stack29_v5.ipynb - Kaggle training notebook
  • colab_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 shellcheck on 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

  1. Describe the change clearly - What does this fix or add?
  2. Link related issues - Use "Fixes #123" if applicable
  3. Include tests - Add unit tests for new features
  4. Update docs - If you add a feature, document it
  5. 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.