Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/simple-agent-manager.git - Install dependencies:
pnpm install - Create a branch:
git checkout -b feature/your-feature
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run tests
pnpm test
# Start development servers
pnpm dev- TypeScript for all code
- ESLint + Prettier for formatting
- Run
pnpm lintbefore committing
We use Conventional Commits:
feat: add new workspace feature
fix: resolve DNS creation bug
docs: update getting started guide
test: add integration tests for cleanup
refactor: extract validation utilities
- Ensure all tests pass:
pnpm test - Update documentation if needed
- Add tests for new features
- Keep PRs focused and small
- Fill the PR template completely (including the Agent Preflight block)
AI-assisted changes must include pre-code behavioral evidence in the PR template:
- Change classification (for example
external-api-change,cross-component-change) - Confirmation that preflight happened before code edits
- External references used (Context7 or official docs for external API changes)
- Codebase impact analysis across affected components
- Documentation/spec synchronization notes
- Constitution and risk check summary
CI validates this section on pull requests.
apps/
api/ - Cloudflare Worker API (Hono + TypeScript)
web/ - Control Plane UI (React + Vite)
packages/
shared/ - Shared types and utilities
providers/ - Cloud provider abstraction (Hetzner)
cloud-init/ - VM cloud-init template generation
terminal/ - Shared terminal component (xterm.js + WebSocket)
ui/ - Shared UI component library
vm-agent/ - Go agent for WebSocket terminal + idle detection
acp-client/ - Agent Communication Protocol client
infra/ - Pulumi infrastructure as code
scripts/
vm/ - VM-side config templates
deploy/ - Deployment utilities
docs/
guides/ - User guides
adr/ - Architecture Decision Records
architecture/ - Architecture documentation
specs/ - Feature specifications
The packages/vm-agent/ directory contains a Go binary that runs on workspace VMs:
cd packages/vm-agent
# Install Go dependencies
go mod download
# Build for all platforms
make build-all
# Run tests
go test ./...Requirements: Go 1.22+
# Run all unit tests
pnpm test
# Run tests for a specific package
pnpm --filter @simple-agent-manager/api test
# Run with coverage
pnpm test:coverageIntegration tests use mocked APIs. No real cloud resources are used.
pnpm --filter @simple-agent-manager/api test- Check existing issues for related discussions
- Create an issue describing the feature
- Design first for significant changes
- Write tests before or alongside implementation
- Update docs if user-facing
Be respectful and constructive. We're all here to build something great together.
Open an issue with the "question" label or reach out to the maintainers.