think-bigger/docs/plans/checklists/development-setup.md
Kade Heyborne 48c6ddc066
Add comprehensive project documentation
- Complete planning documentation for 5-phase development
- UI design specifications and integration
- Domain architecture and directory templates
- Technical specifications and requirements
- Knowledge incorporation strategies
- Dana language reference and integration notes
2025-12-03 16:54:37 -07:00

173 lines
5.6 KiB
Markdown

# Development Setup Checklist
This checklist ensures a consistent development environment across all team members and provides a quick start guide for new contributors.
## Prerequisites
- [ ] Python 3.10+ installed
- [ ] Node.js 18+ installed (for frontend development)
- [ ] Docker and Docker Compose installed
- [ ] Git configured with SSH keys
- [ ] VS Code or preferred IDE installed
## Environment Setup
### Backend Setup
- [ ] Clone repository: `git clone <repo-url>`
- [ ] Create virtual environment: `python -m venv venv`
- [ ] Activate environment: `source venv/bin/activate` (Linux/Mac) or `venv\Scripts\activate` (Windows)
- [ ] Install dependencies: `pip install -r requirements.txt`
- [ ] Install dev dependencies: `pip install -r requirements-dev.txt`
- [ ] Copy environment template: `cp .env.example .env`
- [ ] Configure API keys in `.env`:
- [ ] OPENAI_API_KEY
- [ ] OPENALEX_API_KEY (if using)
- [ ] HUGGINGFACE_TOKEN (if using local models)
### Frontend Setup
- [ ] Navigate to frontend directory: `cd frontend/`
- [ ] Install dependencies: `npm install`
- [ ] Copy environment template: `cp .env.example .env.local`
- [ ] Configure frontend environment variables
### Database Setup
- [ ] Choose database: Neo4j/Dgraph/local alternative
- [ ] Install database locally or configure cloud instance
- [ ] Update connection settings in `.env`
- [ ] Run database migrations/initialization scripts
## Development Tools
### Code Quality
- [ ] Install pre-commit hooks: `pre-commit install`
- [ ] Configure linting: `npm run lint` (frontend) or appropriate backend linter
- [ ] Set up type checking: `mypy` for Python, TypeScript for frontend
- [ ] Configure code formatting: Black for Python, Prettier for frontend
### Testing
- [ ] Install test dependencies
- [ ] Configure test database
- [ ] Run initial test suite: `pytest` (Python) or `npm test` (frontend)
- [ ] Set up test coverage reporting
### Documentation
- [ ] Install documentation tools (Sphinx for Python, etc.)
- [ ] Configure API documentation generation
- [ ] Set up documentation deployment (ReadTheDocs, etc.)
## Project Structure Validation
### Backend Structure
- [ ] Verify `src/` directory structure matches architecture
- [ ] Confirm `config/settings.py` loads correctly
- [ ] Test basic imports: `python -c "import src.episodic_memory"`
- [ ] Validate configuration loading
### Frontend Structure
- [ ] Verify component structure
- [ ] Test basic build: `npm run build`
- [ ] Confirm routing configuration
- [ ] Validate TypeScript compilation
## API and Integration Testing
### Backend API
- [ ] Start development server: `uvicorn api.server:app --reload`
- [ ] Test health endpoint: `curl http://localhost:8000/health`
- [ ] Verify API documentation: `http://localhost:8000/docs`
### Frontend-Backend Integration
- [ ] Start frontend dev server: `npm run dev`
- [ ] Test basic API calls from frontend
- [ ] Verify CORS configuration
- [ ] Test file upload endpoints
## Data Pipeline Testing
### Document Processing
- [ ] Place test PDF in `data/raw_documents/`
- [ ] Run document parser: `python -c "from src.episodic_memory.document_parser import DocumentParser; parser = DocumentParser(); chunks = parser.parse_directory('data/raw_documents'); print(f'Parsed {len(chunks)} chunks')"`
- [ ] Verify chunk creation and metadata extraction
### Embedding Service
- [ ] Test embedding generation
- [ ] Verify vector storage
- [ ] Test basic similarity search
## Agent Development Setup
### Dana Runtime
- [ ] Verify Dana language runtime installation
- [ ] Test basic Dana code execution
- [ ] Confirm REPL functionality
### Agent Framework
- [ ] Test agent loading and initialization
- [ ] Verify basic agent communication
- [ ] Confirm agent configuration loading
## Performance and Monitoring
### Logging
- [ ] Configure structured logging
- [ ] Set up log aggregation (if needed)
- [ ] Test error tracking and reporting
### Performance Monitoring
- [ ] Set up basic performance profiling
- [ ] Configure health checks
- [ ] Test resource usage monitoring
## Security and Privacy
### Local Data Sovereignty
- [ ] Verify all data paths are user-configurable
- [ ] Test file system permissions
- [ ] Confirm no external data leakage
### API Security
- [ ] Configure basic authentication (if needed)
- [ ] Test input validation
- [ ] Verify secure file handling
## Deployment Preparation
### Docker
- [ ] Build Docker image: `docker build -t second-brain .`
- [ ] Test container execution: `docker run -p 8000:8000 second-brain`
- [ ] Verify Docker Compose setup
### Production Configuration
- [ ] Create production environment template
- [ ] Configure production logging
- [ ] Set up production database connections
## Final Validation
- [ ] Run full test suite: `pytest --cov=src --cov-report=html`
- [ ] Perform integration testing
- [ ] Test end-to-end user workflows
- [ ] Validate performance requirements
- [ ] Confirm documentation is current
## Troubleshooting
### Common Issues
- **Import errors**: Check virtual environment activation and PYTHONPATH
- **Database connection failures**: Verify connection strings and credentials
- **API key issues**: Confirm environment variables are loaded correctly
- **Build failures**: Check Node.js/Python versions and dependency conflicts
### Getting Help
- Check existing issues in repository
- Review documentation in `docs/`
- Contact team lead for environment-specific issues
## Next Steps
After completing this checklist:
1. Start with Phase 1 foundation work
2. Set up daily standups and progress tracking
3. Begin implementing core backend services
4. Schedule regular architecture reviews</content>
<parameter name="filePath">docs/plans/checklists/development-setup.md