Skip to Content
ContributingHow to Contribute

How to Contribute

FrootAI is open source under the MIT License and grows with every contribution. Whether you’re adding a new agent, creating a solution play, or fixing a typo β€” we welcome it all.

Ways to Contribute

1. New Solution Play

Create a complete, deployable AI solution with the full DevKit + TuneKit + SpecKit structure:

solution-plays/XX-your-solution/ β”œβ”€β”€ .github/ # DevKit: Agentic OS β”‚ β”œβ”€β”€ copilot-instructions.md # Always-on solution context β”‚ β”œβ”€β”€ agents/ # builder, reviewer, tuner β”‚ β”œβ”€β”€ instructions/ # Coding standards β”‚ β”œβ”€β”€ prompts/ # Slash commands β”‚ β”œβ”€β”€ skills/ # Step-by-step procedures β”‚ └── hooks/ # Security guardrails β”œβ”€β”€ config/ # TuneKit β”‚ β”œβ”€β”€ openai.json # Model parameters β”‚ └── guardrails.json # Quality thresholds β”œβ”€β”€ spec/ # SpecKit β”œβ”€β”€ infra/ # Azure Bicep β”œβ”€β”€ evaluation/ # Quality pipeline β”œβ”€β”€ fai-manifest.json # FAI Protocol wiring └── README.md # Documentation

2. Standalone Primitives

Add individual agents, skills, instructions, or hooks to the shared repository:

# Scaffold a new primitive interactively node scripts/scaffold-primitive.js agent node scripts/scaffold-primitive.js skill node scripts/scaffold-primitive.js instruction node scripts/scaffold-primitive.js hook # Validate after creation npm run validate:primitives

3. Improve Existing Plays

  • Deepen agent.md content with more few-shot examples and error handling
  • Tune config/*.json parameters with real-world production values
  • Enhance evaluation pipelines with additional metrics
  • Fix or improve infra/main.bicep templates with real Azure resource definitions

4. Documentation & Knowledge

  • Fix errors in existing knowledge modules (docs/*.md)
  • Add glossary terms to F3-AI-Glossary-AZ.md
  • Improve cookbook recipes in cookbook/
  • Propose new modules via GitHub Issue

5. Platform Features

  • MCP server tools (mcp-server/)
  • VS Code extension features (vscode-extension/)
  • CLI commands
  • Website improvements

PR Workflow

  1. Fork the repository on GitHub
  2. Clone your fork locally
git clone https://github.com/YOUR_USERNAME/frootai.git cd frootai npm install
  1. Create a feature branch
git checkout -b feat/XX-your-solution-play
  1. Make your changes following naming conventions and the PR checklist

  2. Validate before committing

npm run validate:primitives # Must pass with 0 errors
  1. Commit using conventional commits
git commit -m "feat: add Play XX - Your Solution Play"
  1. Push and open a Pull Request targeting main
git push origin feat/XX-your-solution-play
ℹ️

CI validation runs automatically on every PR:

  • validate-primitives.yml β€” schema, naming, frontmatter, secrets scan
  • validate-plays.yml β€” solution play structure validation
  • auto-generate.yml β€” marketplace.json regenerated on merge

Branching Strategy

BranchPurposeWho Pushes
mainProduction β€” always stable, all CI passesMerge from PRs only
feat/*New primitives, plays, or featuresContributors
fix/*Bug fixesContributors
docs/*Documentation updatesContributors

Rules:

  • Never push directly to main β€” always via PR
  • All PRs require validate-primitives to pass (0 errors)
  • Squash merge preferred for clean history
  • Delete feature branches after merge

Quality Standards

Before submitting, verify your contribution:

  • All JSON files parse without errors
  • Frontmatter has required fields per primitive type
  • Uses Managed Identity (no API keys) for Azure services
  • UTF-8 encoding (no BOM) on all files
  • npm run validate:primitives passes with 0 errors
  • File naming follows lowercase-hyphen convention

Code of Conduct

  • Be respectful and constructive
  • Focus on the infra/platform audience
  • Quality over quantity β€” one deeply customized play beats ten skeletons
  • MIT License β€” all contributions are MIT-licensed

Contribution License

By submitting a pull request, you agree that your contribution is licensed under the MIT LicenseΒ  and may be incorporated into FrootAI. You retain credit for your work.

Next Steps

Last updated on