- core/ - Main Garden codebase (commands, config, graph, plugins, logger)
- cli/ - CLI package that bundles core and plugins into the final executable
- sdk/ - TypeScript plugin SDK for Garden plugin development
- plugins/ - Bundled plugins (terraform, pulumi, jib, conftest, docker-compose)
- docs/ - Documentation for docs.garden.io
- scripts/ - Build, release, and dev automation scripts
Start watch-mode recompilation in the background (recommended):
npm run devRun Garden locally:
bin/gardenWe use Mocha as our test framework.
Unit tests (from core/ directory):
npm run test
npm run test -- -g "LoginCommand" # filter by patternIntegration tests (from core/ directory):
npm run integ-local
npm run integ-local -- -g "pattern" # filter by patternLint (errors only):
npm run lint -- --quietType checking (from core/ directory):
npm run check-typesIf npm run check-types fails due to missing tsc binary, run directly:
node node_modules/typescript/lib/tsc.js -p core --noEmitFix formatting:
npm run fix-formatPre-push checks (run before pushing):
npm run check-pre-pushThis repo uses conventional commits. Prefix commits with: feat, fix, chore, docs, refactor, improvement, perf, test, ci, style, revert, tool.
All source files require an MPL-2.0 license header (enforced by ESLint).