This directory contains guides for developers working on AutoGen-Trader.
-
- Project layout and module organization
- Import conventions and patterns
- Where to find specific functionality
- Start here if you're new to the codebase
-
- Current implementation status
- Completed features and known issues
- Open issues and priorities
- Sprint planning and milestones
- Check this to understand what's being worked on
-
- Architecture of the interactive CLI
- How human-in-the-loop trading works
- Integration with trading cycle
- Reference this for CLI-related changes
-
- SQLite caching system internals
- API usage and examples
- Performance tuning
- Read this if working with market data or cache
-
- Pre-commit hooks configuration
- GitHub Actions setup
- Auto-formatting and linting
- Use this to set up your development environment
-
- Linting standards and configuration
- Active code quality issues
- Technical debt tracking
- Import consolidation history
- Reference this for code quality improvements
- Backtesting Framework - Validation and backtesting tools
- Refactor Impact Assessment - Change impact analysis
- Core Features Gameplan - Feature implementation plans
- Database-First Caching - SQLite caching architecture
- Config Migration Notes - Configuration system changes
- GEX Quick Reference - Gamma exposure analysis guide
- GEX Voter Integration - GEX + VoterAgent integration
- LLM Consolidation - LLM usage analysis
- CLI Integration Phase 1 - ApprovedTickers, PositionSizer, PortfolioManager
- CLI Integration Phase 2 - Ranked Voting, Multi-TF, GTT, Watchlist commands
- Config Schema Review - Configuration architecture
- GTT Implementation - Good-Till-Triggered orders
- Partial Exit Strategies - Research for #417, scaling out
- Profile Preset Architecture - User profile system
For architecture decisions, see docs/05_decisions/
For feature documentation, see docs/features/
For testing, see docs/testing/
- Read 01_codebase_structure.md for where to place code
- Check docs/05_decisions/ for relevant architectural patterns
- Update 02_project_status.md to track your work
- Create tests in
tests/following existing patterns - Document in
docs/features/when ready for users
- Create a GitHub issue (if not already created)
- Check 02_project_status.md for related issues
- Write tests that reproduce the bug
- Fix the bug
- Update 02_project_status.md when complete
- Reference the issue in your commit message
- Profile the code to identify bottlenecks
- Check 04_cache_developer_guide.md for caching strategies
- Review docs/05_decisions/03_api_caching_patterns.md
- Implement improvements with tests
- Document in commit message and relevant docs
- Start with 01_codebase_structure.md to find the files
- Read code comments and docstrings
- Check related ADRs in docs/05_decisions/
- Look at tests in
tests/for usage examples - Ask in GitHub issues if stuck
All code must follow standards documented in:
Decision Records (docs/05_decisions/):
- 01_code_organization.md - Directory structure and imports
- 02_error_handling_logging.md - Error handling patterns
- 03_api_caching_patterns.md - Cache implementation
- 04_agent_singleton_patterns.md - Agent lifecycle
Code Quality Guide (06_code_quality.md):
- Linting configuration (Ruff, Black, isort, MyPy)
- Import conventions and patterns
- Type hint guidelines
- Active code quality issues (#409-#413)
Pre-commit hooks enforce:
- Black formatting
- Ruff linting
- isort import ordering
- Trailing whitespace removal
- Security scanning (Bandit)
Significant design decisions are documented as ADRs. Before making architectural changes, check docs/05_decisions/.
See docs/testing/ for:
- Unit testing guidelines
- Integration testing approach
- Forward testing protocol
- How to run tests
- Where do I put this code? → 01_codebase_structure.md
- How does the CLI work? → 03_cli_trade_assistant.md
- How's the cache implemented? → 04_cache_developer_guide.md
- What's the project status? → 02_project_status.md
- How should I design this? → docs/05_decisions/
- What are the code quality standards? → 06_code_quality.md