Skip to content

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 code
  • develop: Integration branch for features
  • Feature branches: For new features and improvements
  • Hotfix branches: For urgent production fixes

Setting Up Your Development Environment

  1. Clone the repository
  2. Install dependencies
  3. Configure environment variables
  4. 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:

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

  1. Go to the GitLab repository
  2. Create a new Merge Request from your feature branch to develop
  3. Fill in the template with details about your changes
  4. Assign reviewers and appropriate labels

Code Review Process

  1. Reviewers will provide feedback on your code
  2. Address review comments and push additional commits
  3. 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

  1. Create a release branch from develop
  2. Test and verify the release
  3. Merge the release branch into main
  4. Tag the release with a version number

Automated CI/CD pipelines handle the actual deployment.

Troubleshooting

If you encounter issues during development:

  1. Check the Troubleshooting guide
  2. Review logs in the relevant service
  3. 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