Contributing
Getting Started
Section titled “Getting Started”- 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.
Development Workflow
Section titled “Development Workflow”Run the standard checks before opening a pull request:
pnpm buildpnpm testpnpm typecheckpnpm lintFor local development:
pnpm devThis starts the API and web UI development servers. Local development has known limitations around OAuth, DNS, and real VM provisioning; use staging when validating those paths.
Code Style
Section titled “Code Style”- TypeScript is used for the API, web app, shared packages, scripts, and infrastructure.
- Go is used for the VM agent and CLI packages.
- ESLint and Prettier handle TypeScript formatting.
- Keep changes focused and include tests for new behavior.
Commit Messages
Section titled “Commit Messages”Use Conventional Commits:
feat: add new workspace featurefix: resolve DNS creation bugdocs: update getting started guidetest: add integration tests for cleanuprefactor: extract validation utilitiesPull Requests
Section titled “Pull Requests”- Keep the PR focused and small.
- Ensure the relevant checks pass.
- Update docs when user-facing behavior changes.
- Fill the pull request template completely, including the Agent Preflight section.
Agent Preflight
Section titled “Agent Preflight”AI-assisted changes must include pre-code behavioral evidence in the PR template:
- Change classification, such as
external-api-changeorcross-component-change. - Confirmation that preflight happened before code edits.
- External references used, with official docs for external API changes.
- Codebase impact analysis across affected components.
- Documentation and spec synchronization notes.
- Constitution and risk check summary.
CI validates this section on pull requests.
Go Development
Section titled “Go Development”The VM agent lives in packages/vm-agent/:
cd packages/vm-agentgo mod downloadmake build-allgo test ./...The CLI package lives in packages/cli/ and should be held to the same quality bar: simple command parsing, scenario-driven tests, and careful secret redaction.
Adding a Feature
Section titled “Adding a Feature”- Check existing issues and task records for related discussion.
- Design first for significant changes.
- Write tests before or alongside implementation.
- Update the www docs for user-facing behavior.