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 TypeDescriptionDifficulty
Bug reportsReport issues you encounterEasy
DocumentationImprove docs, fix typosEasy
Custom patternsAdd new code patternsMedium
Custom skillsCreate reusable skill templatesMedium
Custom agentsBuild specialized agentsMedium
Core featuresContribute to the Bootspring coreAdvanced

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#

  1. Be specific - Focus on a well-defined domain
  2. Be practical - Include actionable patterns and examples
  3. Be comprehensive - Cover common scenarios thoroughly
  4. Be opinionated - Recommend best practices, not just options
  5. 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#

  1. Production-ready - Code should work out of the box
  2. Well-documented - Explain what the code does
  3. Tested - Include test examples
  4. Configurable - Allow customization where appropriate
  5. 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#

  1. Clear parameters - Document all inputs
  2. Sensible defaults - Provide good default values
  3. Multiple examples - Show various use cases
  4. Error handling - Validate inputs

Code Style Guidelines#

TypeScript#

Loading code block...

Naming Conventions#

TypeConventionExample
Fileskebab-caseuser-service.ts
ClassesPascalCaseUserService
FunctionscamelCasegetUserById
ConstantsSCREAMING_SNAKE_CASEMAX_RETRIES
Types/InterfacesPascalCaseUserConfig
Agentskebab-casedatabase-expert
Patternskebab-caseapi-endpoint

Code Organization#

Loading code block...

Documentation#

Loading code block...

Submitting Pull Requests#

Before Submitting#

  1. Run tests: npm test
  2. Run linter: npm run lint
  3. Build: npm run build
  4. Update docs if needed

PR Guidelines#

  1. Clear title - Describe what the PR does
  2. Description - Explain the changes and why
  3. Link issues - Reference related issues
  4. Small PRs - Keep changes focused
  5. 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#

Questions?#

If you're unsure about anything:

  1. Check existing issues and discussions
  2. Ask in GitHub Discussions
  3. Open a draft PR for feedback

Recognition#

Contributors are recognized in:

  • CONTRIBUTORS.md file
  • Release notes
  • Documentation credits

Thank you for contributing to Bootspring!