First off, thank you for considering contributing to Augo! It's people like you that make the open source community such an amazing place to learn, inspire, and create.
By participating in this project, you are expected to uphold our Code of Conduct.
- Check the Issues tab to see if the bug has already been reported.
- If not, create a new issue. Use a clear and descriptive title.
- Provide a step-by-step reproduction of the issue.
- Include environment details (OS, Python version, Flutter version).
- Open a new issue with the tag "enhancement".
- Describe the feature you'd like to see and why it would be useful.
- If possible, provide mockups or workflow diagrams.
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes.
- Ensure your code follows the project's style (run
make lintandmake formatfor backend). - Submit a pull request with a clear description of the changes.
- Install uv.
- Run
make setupto install dependencies and initialize the environment. - Use
make devormake startto run the development server.
- Ensure you have Flutter 3.x installed.
- Run
make setup-allfrom the root or navigate toclientand runflutter pub get. - Run
make client-runorflutter run.
- Use type hints for all function signatures.
- Follow Google-style docstrings.
- Use
rufffor linting and formatting. - All code comments and docstrings must be in English.
- This ensures international contributors can understand the codebase.
- Existing Chinese comments are being gradually translated (tracked as tech debt).
- Follow the official Effective Dart guidelines.
- Use Riverpod for state management.
- Ensure UI components align with the Forui design system.
- All code comments must be in English.
During the alpha/beta phase, we use a lightweight changelog process:
- DO NOT update
CHANGELOG.mdfor every commit or PR. - Use clear, descriptive commit messages following Conventional Commits.
- The changelog will be generated from commit history when releasing a new version.
Commit message format:
<type>(<scope>): <description>
Examples:
feat(auth): add rate limiting for login endpoint
fix(budget): correct monthly calculation logic
docs: update self-hosting guide
refactor(agent): simplify middleware chain
test(services): add auth security tests
Commit types:
feat: New featurefix: Bug fixdocs: Documentation onlyrefactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
By contributing, you agree that your contributions will be licensed under the project's AGPLv3 License.