Thank you for your interest in contributing to AI Flow.
Contributions are not limited to code. Improving documentation, reporting issues, suggesting features, and helping other contributors are all valuable ways to participate.
- Getting Started
- Development Workflow
- Coding Guidelines
- Testing
- Issues and Discussions
- Pull Requests
- Additional Notes
- Commit Message Convention
Ensure you have the following installed:
node.js(latest LTS recommended)npmoryarngit
Clone the repository and install dependencies:
git clone https://github.com/Jyotibrat/AI-Flow.git
cd AI-Flow
npm installRun the development server:
npm run dev- Fork the repository
- Create a new branch from
main - Make your changes
- Test your changes locally
- Submit a pull request
Branch naming convention:
feature/<name>for new featuresfix/<name>for bug fixesdocs/<name>for documentation changes
- Write clear, maintainable, and modular code
- Follow existing project structure and patterns
- Use meaningful variable and function names
- Avoid unnecessary dependencies
- Keep changes focused and minimal
- Ensure the application runs without errors
- Verify that new features do not break existing functionality
- Test UI changes across different screen sizes where applicable
Before creating a new issue:
- Check if a similar issue already exists
- Provide a clear and descriptive title
- Include steps to reproduce (for bugs)
- Add relevant screenshots or logs if necessary
For larger changes or new features, open an issue first to discuss the approach.
When submitting a pull request:
- Provide a clear description of the changes
- Reference related issues if applicable
- Keep pull requests small and focused
- Ensure your branch is up to date with
main
Review process:
- Maintainers will review your changes
- Feedback may be provided for improvements
- Changes may be requested before merging
- Keep all discussions public within issues or pull requests so others can benefit
- Avoid direct private communication regarding project changes unless necessary
- Respect all contributors and maintain a collaborative environment
This project enforces Conventional Commits via a commit-msg hook. Every commit must match the format:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
| Type | When to use |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation only |
style |
Formatting, whitespace (no logic change) |
refactor |
Code restructure, no feature/fix |
perf |
Performance improvement |
test |
Adding or fixing tests |
build |
Build system or dependency changes |
ci |
CI/CD configuration |
chore |
Maintenance tasks |
revert |
Revert a previous commit |
# Simple feature
feat: add dark mode toggle
# Feature with scope
feat(auth): add Google OAuth login
# Bug fix referencing issue
fix(api): handle timeout errors gracefully
Fixes #42
# Breaking change
feat(api)!: change response format to JSON:API
BREAKING CHANGE: All responses now use camelCase keys.
# Documentation
docs: add setup instructions to README
# Dependency update
build: upgrade vite to v6# No type prefix
added login page
# Wrong tense (use imperative mood)
fix: fixed the broken button
feat: added new feature
# Too vague
fix: bug fix
update: updates
chore: misc
# Too long (keep under 72 chars)
feat: add a new feature that allows users to export their data in multiple formats including CSV, JSON, and XML
# Uppercase first letter of description
fix: Fixed the login redirect
# Period at end of description
feat: add dark mode toggle.Husky is configured automatically on npm install via the prepare script. The commit-msg hook runs commitlint on every commit and rejects messages that do not follow the convention.
Contributing is about improving the project as a whole. Whether through code, ideas, or support, every contribution is valuable.