Contributing to Bootspring
How to contribute agents, patterns, skills, and improvements to Bootspring
Thank you for your interest in contributing to Bootspring. This guide covers everything you need to know to contribute effectively.
Ways to Contribute#
| Contribution Type | Description | Difficulty |
|---|---|---|
| Bug reports | Report issues you encounter | Easy |
| Documentation | Improve docs, fix typos | Easy |
| Custom patterns | Add new code patterns | Medium |
| Custom skills | Create reusable skill templates | Medium |
| Custom agents | Build specialized agents | Medium |
| Core features | Contribute to the Bootspring core | Advanced |
Getting Started#
1. Fork the Repository#
Loading code block...
2. Install Dependencies#
Loading code block...
3. Set Up Development Environment#
Loading code block...
4. Create a Branch#
Loading code block...
Creating Custom Agents#
Agents are specialized AI personas that provide domain expertise.
Agent Structure#
agents/
my-agent/
context.md # Required: Agent knowledge and expertise
patterns.md # Optional: Common patterns this agent uses
checklist.md # Optional: Review checklist for this domain
Step 1: Create the Directory#
Loading code block...
Step 2: Create context.md#
This is the core of your agent. It defines the agent's expertise and behavior.
Loading code block...
Step 3: Register the Agent#
Add to bootspring.config.js:
Loading code block...
Agent Guidelines#
- Be specific - Focus on a well-defined domain
- Be practical - Include actionable patterns and examples
- Be comprehensive - Cover common scenarios thoroughly
- Be opinionated - Recommend best practices, not just options
- Include context - Explain the "why" behind recommendations
Example: Creating a GraphQL Expert Agent#
Loading code block...
Creating Custom Patterns#
Patterns are production-ready code templates for common tasks.
Pattern Structure#
skills/
category/
pattern-name.md
Pattern Template#
Loading code block...
Pattern Guidelines#
- Production-ready - Code should work out of the box
- Well-documented - Explain what the code does
- Tested - Include test examples
- Configurable - Allow customization where appropriate
- TypeScript-first - Use TypeScript with proper types
Creating Custom Skills#
Skills are reusable templates that generate code based on parameters.
Skill Structure#
Loading code block...
Skill Guidelines#
- Clear parameters - Document all inputs
- Sensible defaults - Provide good default values
- Multiple examples - Show various use cases
- Error handling - Validate inputs
Code Style Guidelines#
TypeScript#
Loading code block...
Naming Conventions#
| Type | Convention | Example |
|---|---|---|
| Files | kebab-case | user-service.ts |
| Classes | PascalCase | UserService |
| Functions | camelCase | getUserById |
| Constants | SCREAMING_SNAKE_CASE | MAX_RETRIES |
| Types/Interfaces | PascalCase | UserConfig |
| Agents | kebab-case | database-expert |
| Patterns | kebab-case | api-endpoint |
Code Organization#
Loading code block...
Documentation#
Loading code block...
Submitting Pull Requests#
Before Submitting#
- Run tests:
npm test - Run linter:
npm run lint - Build:
npm run build - Update docs if needed
PR Guidelines#
- Clear title - Describe what the PR does
- Description - Explain the changes and why
- Link issues - Reference related issues
- Small PRs - Keep changes focused
- Tests - Add tests for new functionality
Commit Messages#
Use conventional commits:
feat: add graphql-expert agent
fix: resolve database connection issue
docs: update contributing guide
refactor: simplify agent loading logic
test: add tests for quality gates
chore: update dependencies
Important:
- Write clear, descriptive commit messages
- Keep commits atomic (one logical change per commit)
- Never add Co-Authored-By or AI attribution to commits
- Never commit secrets, API keys, or credentials
PR Template#
Loading code block...
Development Workflow#
1. Sync with Upstream#
Loading code block...
2. Make Changes#
Loading code block...
3. Run Quality Checks#
Loading code block...
4. Push and Create PR#
Loading code block...
5. Address Review Feedback#
Loading code block...
Testing#
Running Tests#
Loading code block...
Writing Tests#
Loading code block...
Getting Help#
Resources#
- GitHub Issues - Report bugs and request features
- Discussions - Ask questions and share ideas
- Documentation - Read the docs
Questions?#
If you're unsure about anything:
- Check existing issues and discussions
- Ask in GitHub Discussions
- Open a draft PR for feedback
Recognition#
Contributors are recognized in:
CONTRIBUTORS.mdfile- Release notes
- Documentation credits
Thank you for contributing to Bootspring!
Related#
- All Agents - See existing agents for examples
- Skills Overview - Understand skill structure
- Code Patterns - Browse existing patterns
- CLI Reference - Command documentation