Skip to content
This project is under active development and subject to breaking changes. See the changelog for release notes.

Contributing

Whether you are contributing an agent, skill, instruction, hook, or documentation fix, this page covers the process and conventions.

Use GitHub Issues with detailed context:

  • Steps to reproduce
  • Expected vs actual behavior
  • Environment (VS Code version, OS, Node.js version)
.github/
plugins/devsquad/
agents/ # Visible agents and internal worker agents (.agent.md)
skills/ # 18 skill definitions
hooks/ # Lifecycle scripts + hooks.json
.mcp.json # MCP server configuration
instructions/ # 7 path-scoped instruction files
docs/ # Internal reference docs
docs/
framework/ # Architecture documentation
templates/ # Community file templates

Changes to the framework architecture should go through the ADR (Architecture Decision Record) process. See Decisions for existing ADRs and the template. To propose a new ADR:

  1. Copy the ADR template from docs/architecture/decisions/ADR-TEMPLATE.md
  2. Fill in the Context, Priorities, Options, and Decision sections
  3. Submit with status Proposed. ADRs require review before moving to Accepted.

Agents

Naming: devsquad.<phase>.agent.md. Required frontmatter: description, tools. Procedural and imperative instructions. Nested sub-agents are supported in VS Code 1.113+ with chat.subagents.allowInvocationsFromSubagents. Internal workers should use user-invocable: false and minimal tool sets.

Skills

Directory name = frontmatter name (kebab-case). Description optimized for semantic trigger. Max 500 lines. Include use/don’t-use scenarios.

Instructions

One per artifact type. Must include applyTo glob pattern. Concise, actionable rules. Under 50 lines.

Hooks

Bash scripts with shebang. JSON output on single line. 30-second default timeout. Register in hooks.json.

  1. Clear title and description explaining what and why
  2. Link to related issues
  3. Small, coherent increments (300-500 lines, 5-10 files)
  4. Follow Conventional Commits for commit messages
  5. English only, no emojis or decorative Unicode
  6. Validate with markdownlint before submitting