Feature Specs
Standardized feature specifications for AI agent collaboration and software development
Specification System
Built for parallel development
A structured approach for humans and AI agents to collaborate on features
Markdown-First
All specs live in Markdown with YAML frontmatter. Easy to diff, parse, and index for both humans and AI agents.
Parallel Development
Multiple agents work on different features simultaneously. Ownership claims prevent conflicts.
Automation Ready
Simple rules that are trivially validated by CI and followed by agents to enable seamless automation.
3 Templates
Templates included
Click to expand and see the full structure of each template
Feature Spec
13 sectionsCanonical template for feature documentation with YAML frontmatter and structured body
Template file
templates/feature.md
Created by
vb new "Title" label1 label2
Frontmatter fields
FTR-XXXX pattern, auto-assigned by vb new)backlog, in-progress, blocked, review, doneP0 (critical) through P3 (low)XS, S, M, L, XLFTR-XXXX IDs that must be done firstEP-XXXX)Body sections
PR Template
7 sectionsStructured pull request checklist ensuring consistent review standards
Template file
templates/pr-template.md
Used by
/work-on --create-pr
Sections
review status, all acceptance criteria implementedRules Config
6 blocksMachine-readable YAML defining agent behavior, validation, and state transitions
Template file
templates/rules.yml
Read by
Agents at startup viaRULES.md reference
Configuration blocks
FTR-\d{4}), filename pattern, max description words (6)CLI Integration
Feature operations via vb
All feature operations run through the required CLI
Bootstrap Check
Run once at the start of any task that touches feature specs:
# Install if missing, upgrade if outdated ./scripts/install-vb-cli.sh --ensure-latest vb version
Non-interactive: installs when missing, upgrades when outdated, exits cleanly when current.
Core Commands
Create, move, validate, and index features:
vb new "User Auth" auth frontend vb move FTR-0001 in-progress --owner alice vb validate vb index
vb move updates frontmatter and relocates the file in one step.
Security · v0.8.1
Security & Hardening
Supply-chain integrity, audit logging, operational locking, and agent sandboxing
SHA-256 Checksum Verification
The install-vb-cli.sh installer now fetches checksums.txt from the release and verifies the downloaded binary before installation. Prevents supply-chain tampering.
Version Pinning
The .vb-version file pins the CLI to a specific release tag. The installer reads it instead of always fetching latest, ensuring reproducible builds.
Explicit Sudo with --allow-sudo
Silent sudo escalation removed from the installer. The --allow-sudo flag must be passed explicitly to permit elevated privileges during installation.
Untrusted-Content Delimiters
Feature spec bodies are wrapped in <untrusted-content> tags. Agents treat body text as data, not instructions, preventing prompt injection through spec content.
Gitleaks Pre-Commit
Secret scanning via gitleaks added to pre-commit hooks. Prevents accidental credential leaks before they reach the repository.
Worktree Path Hardening
Default worktree path changed from /tmp to ~/.local/state/virtualboard/worktrees. Prevents cross-project collisions and world-readable temp exposure.
Append-Only Audit Log
Every feature operation (create, move, delete, update) is logged to .virtualboard/audit.jsonl with a SHA-256 hash chain for tamper evidence. Thread-safe and compliance-ready.
Operational Locking
vb new and vb move now use atomic file-based locking to prevent duplicate ID allocation and concurrent-move race conditions. 1-minute TTL for automatic crash recovery.
Validation Rules
Ensuring quality and consistency across features and system specs
Schema Validation
Features and specs validate against JSON Schema definitions:
- Required frontmatter fields (id, title, status, created, updated)
- Valid status values and date formats
- Allowed priority (P0-P3) and complexity (XS-XL) levels
- Label format enforcement (kebab-case)
- System spec validation (spec_type, status, applicability)
Workflow Rules
Features must be in the correct directory for their status:
- File path must match frontmatter status value
- Dependencies must exist and be in
donestatus - No circular dependency chains allowed
- Filename format:
{id}-{slug}.md
# Validate everything (features + specs)
vb validate
# Validate only features or only specs
vb validate --only-features
vb validate --only-specs
# Validate a specific spec by filename
vb validate tech-stack.md
# Auto-fix what can be fixed
vb validate --fix