Development Workflow¶
This guide outlines the recommended development workflow for contributing to the Bluefly LLM ecosystem.
Overview¶
The Bluefly LLM ecosystem follows a GitFlow-inspired workflow with the following branches:
main
: Production-ready codedevelop
: Integration branch for features- Feature branches: For new features and improvements
- Hotfix branches: For urgent production fixes
Setting Up Your Development Environment¶
- Clone the repository
- Install dependencies
- Configure environment variables
- Run the development server
See the Getting Started guide for detailed instructions.
Feature Development¶
1. Create a Feature Branch¶
git checkout develop
git pull
git checkout -b feature/your-feature-name
2. Implement Your Changes¶
Develop your feature, following these guidelines:
- Follow the code style guidelines
- Write tests for new functionality
- Update documentation as needed
3. Commit Your Changes¶
git add .
git commit -m "feat: Add your feature description"
Commit messages should follow the Conventional Commits format.
4. Push Your Branch¶
git push -u origin feature/your-feature-name
5. Create a Merge Request¶
- Go to the GitLab repository
- Create a new Merge Request from your feature branch to
develop
- Fill in the template with details about your changes
- Assign reviewers and appropriate labels
Code Review Process¶
- Reviewers will provide feedback on your code
- Address review comments and push additional commits
- Once approved, your code will be merged into
develop
Testing¶
Unit Tests¶
npm test
Integration Tests¶
npm run test:integration
End-to-End Tests¶
npm run test:e2e
Deployment¶
Staging Deployment¶
Code merged into the develop
branch is automatically deployed to the staging environment.
Production Deployment¶
- Create a release branch from
develop
- Test and verify the release
- Merge the release branch into
main
- Tag the release with a version number
Automated CI/CD pipelines handle the actual deployment.
Troubleshooting¶
If you encounter issues during development:
- Check the Troubleshooting guide
- Review logs in the relevant service
- Ask for help in the project's GitLab issues or team chat
Best Practices¶
- Regularly pull from
develop
to keep your feature branch up to date - Break large features into smaller, manageable merge requests
- Write clear commit messages that explain the "why" not just the "what"
- Document new features and APIs
- Include tests for all new functionality