Contributing¶
Repository structure¶
lazyai/
├── packages/
│ ├── cli/ # Go CLI module and lazyai-cli command
│ ├── orchestrator/ # Go orchestrator MCP runtime and lazyai-orchestrator command
│ └── diffviewer/ # Go diff viewer utility and lazyai-diffviewer command
├── docs/ # MkDocs documentation site
├── .github/workflows/ # Go CI, release, docs
└── README.md
See Package Layout for module paths and install commands.
Requirements¶
- Go 1.26+
- Python 3.12+ for local docs builds
Node, npm, npx, and pnpm are not required for LazyAI development.
Local development¶
git clone git@github.com:rluisb/lazyai.git
cd lazyai
cd packages/cli && go test ./...
cd ../orchestrator && go test ./...
cd ../diffviewer && go test ./...
Useful Go commands¶
cd packages/cli && go test ./... && go vet ./...
cd packages/orchestrator && go test ./... && go vet ./...
cd packages/diffviewer && go test ./... && go vet ./...
Build local binaries:
cd packages/cli && go build -o /tmp/lazyai-cli ./cmd/lazyai-cli
cd packages/orchestrator && go build -o /tmp/lazyai-orchestrator ./cmd/lazyai-orchestrator
cd packages/diffviewer && go build -o /tmp/lazyai-diffviewer ./cmd/lazyai-diffviewer
Install local commands¶
cd packages/cli && go install ./cmd/lazyai-cli
cd packages/orchestrator && go install ./cmd/lazyai-orchestrator
cd packages/diffviewer && go install ./cmd/lazyai-diffviewer
lazyai-cli --help
Docs¶
The docs site deploys to GitHub Pages at https://rluisb.github.io/lazyai/.
Tests¶
- Tests live next to Go packages as
*_test.gofiles. - Run package tests from each Go module directory with
go test ./.... - Run
go vet ./...for static checks.
Code style¶
- Go: standard
gofmt - Commit messages should follow the project commit pattern configured in
.ai-setup.jsonwhen present.
CI¶
.github/workflows/go-ci.yml— Go tests, vet, and builds.github/workflows/docs.yml— MkDocs strict build and GitHub Pages deploy.github/workflows/release.yml— Go release automation
Opening issues and PRs¶
- Use the provided issue templates when available.
- Ensure relevant
go test,go vet, and docs checks pass before submitting. - For large changes, open a discussion or draft PR first.
Security¶
- Never commit
.envor files containing secrets. - Follow the agent-security and security rules in the bundled library.
- Report security concerns privately to the maintainers.