Thank you for your interest in contributing to Docugent! We're building the future of interactive documentation, and we welcome contributions from developers, designers, documentation writers, AI/ML engineers, and anyone passionate about improving developer experiences.
Docugent transforms static documentation into interactive, conversational experiences. We're creating an AI-powered assistant that helps developers:
- Get precise answers to their questions
- Receive working code examples
- Test ideas in temporary containers
- Navigate complex documentation efficiently
- Python 3.13+
- Node.js 18+
- Git
- Docker (optional but recommended)
-
Fork and Clone
git clone https://github.com/your-username/docugent.git cd docugent -
Backend Setup
# Install Poetry if you haven't already curl -sSL https://install.python-poetry.org | python3 - # Install dependencies poetry install # Set up environment cp env.example .env # Edit .env with your API keys
-
Frontend Setup
cd frontend npm install -
Run the Application
# Terminal 1 - Backend poetry run python main.py # Terminal 2 - Frontend cd frontend npm run dev
- AI Agent Enhancement: Improve the Google ADK agent implementation
- API Development: Add new endpoints and features
- Tool Development: Create new AI agent tools
- Database Integration: Work with PostgreSQL and Redis
- Testing: Write unit and integration tests
- UI Components: Build new React components
- State Management: Improve application state handling
- User Experience: Enhance the chat interface
- Responsive Design: Ensure mobile compatibility
- Performance: Optimize bundle size and loading times
- Docker Configuration: Improve containerization
- CI/CD Pipelines: Set up automated testing and deployment
- Monitoring: Add logging and metrics
- Security: Implement security best practices
- User Interface: Design intuitive chat interfaces
- User Experience: Improve user flows and interactions
- Visual Design: Create consistent design systems
- Accessibility: Ensure the app is accessible to all users
- Mobile Design: Optimize for mobile experiences
- Component Library: Build reusable design components
- Style Guide: Create comprehensive design documentation
- Iconography: Design custom icons and illustrations
- Branding: Help establish Docugent's visual identity
- User Guides: Write comprehensive user documentation
- API Documentation: Document all endpoints and features
- Tutorials: Create step-by-step guides
- Best Practices: Write development guidelines
- Examples: Provide code examples and use cases
- Documentation Site: Build and maintain docs.docugent.dev
- Content Management: Organize and structure documentation
- Search Optimization: Improve documentation discoverability
- Translation: Help with multi-language support
- Model Optimization: Improve AI response quality
- Prompt Engineering: Enhance system prompts
- Context Management: Better conversation context handling
- Tool Integration: Develop new AI agent capabilities
- Evaluation: Create metrics for AI performance
- Model Training: Train custom models for specific tasks
- Data Processing: Improve data ingestion and processing
- Recommendation Systems: Build intelligent suggestions
- Natural Language Processing: Enhance text understanding
We use the following labels to categorize issues:
easy- Good for first-time contributorsmedium- Requires some experiencehard- Complex features requiring expertise
documentation- Documentation improvementsenhancement- New features or improvementsbug- Bug fixesdesign- UI/UX improvementsAIOps- AI/ML related tasksDevOps- Infrastructure and deploymentfrontend- React/TypeScript workbackend- Python/FastAPI worktesting- Test-related taskssecurity- Security improvements
- Browse our Issues page
- Look for issues labeled with your expertise area
- Start with
easyissues if you're new to the project
- Comment on the issue to let others know you're working on it
- Ask questions if you need clarification
git checkout -b feature/your-feature-name- Follow our coding standards (see below)
- Write tests for new functionality
- Update documentation as needed
# Backend tests
poetry run pytest
# Frontend tests
cd frontend && npm run lint- Create a descriptive PR title
- Fill out the PR template
- Link to the issue you're addressing
- Request reviews from maintainers
- Follow PEP 8 style guidelines
- Use type hints for all functions
- Write docstrings for all public functions
- Use Black for code formatting
- Use isort for import sorting
# Format code
poetry run black .
poetry run isort .
# Type checking
poetry run mypy app/- Use ESLint and Prettier
- Follow React best practices
- Use TypeScript strictly
- Write meaningful component names
# Format and lint
npm run lint
npm run format- Use conventional commit format
- Keep commits atomic and focused
- Write descriptive commit messages
feat: add new AI tool for code execution
fix: resolve session management bug
docs: update API documentation
- Write unit tests for all new functions
- Use pytest for testing framework
- Aim for >80% code coverage
- Test both success and error cases
- Write component tests using React Testing Library
- Test user interactions and state changes
- Mock API calls appropriately
- Test responsive design on different screen sizes
- Write clear docstrings for all functions
- Include examples in docstrings
- Document complex algorithms
- Keep README files updated
- Write in clear, simple language
- Include screenshots and examples
- Structure content logically
- Keep documentation up-to-date with code changes
- Follow Google ADK conventions
- Test tools thoroughly before integration
- Handle errors gracefully
- Provide meaningful error messages
- Use React hooks appropriately
- Implement proper error boundaries
- Optimize for performance
- Ensure accessibility compliance
- Follow RESTful conventions
- Include proper error handling
- Write comprehensive API documentation
- Version APIs appropriately
We recognize and appreciate all contributors:
- First-time contributors get special recognition
- Regular contributors may be invited to join the core team
- Significant contributions are highlighted in release notes
- All contributors are listed in our contributors file
- GitHub Issues: For bug reports and feature requests
- GitHub Discussions: For questions and general discussion
- Discord/Slack: For real-time chat (link in README)
- Documentation: Check our docs for detailed guides
We're committed to providing a welcoming and inclusive environment. Please read our Code of Conduct for details.
Every contribution, no matter how small, helps make Docugent better for developers everywhere. Thank you for being part of our community!
Ready to make documentation interactive? Let's build the future together! 🚀