Contributing Guide
Thank you for considering contributing to BFCI Components! This guide will help you get started.
Development Setupโ
- Clone the repository:
git clone https://gitlab.bluefly.io / Blueflyio / internal - projects / llm / bfcicomponents.git
cd bfcicomponents
```text
2. Install dependencies:
```bash
npm install
```text
3. Run tests:
```bash
npm test
```text
## Creating New Components
1. Create a new component template in the `templates`directory:
```yaml
# templates / my - component.yml
name: my - component
description: A brief description of what your component does
version: 1.0.0
inputs:
- name: input_name
description: Description of the input
required: true
```text
2. Add tests for your component:
```javascript
// tests / components / my - component.test.js
describe('my - component', () = > {
it('should work correctly', () = > {
// Add your test cases
});
});
```text
3. Add documentation for your component in `docs / components / my - component.md`## Code Style
- Follow the existing code style
- Use ESLint and Prettier for formatting
- Write clear commit messages following conventional commits
## Testing
- Write unit tests for all new functionality
- Ensure all tests pass before submitting a merge request
- Include integration tests where appropriate
## Documentation
- Update documentation for any changes you make
- Follow the existing documentation style
- Include examples where appropriate
## Submitting Changes
1. Create a new branch:
```bash
git checkout -b feature / my - feature
```text
2. Make your changes and commit them:
```bash
git add .
git commit -m "feat: add new feature"
```text
3. Push your changes:
```bash
git push origin feature / my - feature
```text
4. Create a merge request on GitLab
## Code Review Process
1. All changes must be reviewed
2. Address any feedback from reviewers
3. Ensure CI pipeline passes
4. Keep your merge request up to date with main
## Release Process
1. Merge requests are automatically versioned using semantic - release
2. New versions are published to the component registry
3. Documentation is automatically updated
## Questions?
If you have questions, please:
1. Check the existing documentation
2. Search for existing issues
3. Create a new issue if needed