environmentlisted
Install: claude install-skill AndriyKalashnykov/flight-path
# Development Environment
## Go (via mise)
Pinned in `.mise.toml` at repo root: `go = "1.26.4"`. Activated automatically via shell hook (`eval "$(mise activate bash)"` or zsh/fish equivalent in `~/.zshrc`). `make deps` installs the pinned Go through mise; CI installs it the same way via `jdx/mise-action` (which reads `.mise.toml`, mirrored from `go.mod`) — not `actions/setup-go`.
## Node.js (via nvm)
Required for Newman E2E tests. Installed by `make deps` if not present.
## Tool Installation
`make deps` installs all tools idempotently (skips if already present):
| Tool | Version | Purpose |
|---|---|---|
| `swag` | v1.16.6 | Swagger doc generation |
| `gosec` | v2.24.0 | Security scanner |
| `govulncheck` | v1.1.4 | Dependency vulnerability check |
| `gitleaks` | v8.24.0 | Secrets detection |
| `actionlint` | v1.7.7 | GitHub Actions linter |
| `benchstat` | latest | Benchmark comparison |
| `golangci-lint` | v2.11.1 | Meta-linter (60+ linters) |
| `node` | LTS (via nvm) | Newman runtime |
| `newman` | latest (via npm) | E2E API testing |
Most build targets depend on `deps` and auto-install missing tools.
## Makefile Targets
| Target | Depends on | What it does |
|---|---|---|
| `deps` | — | Install all tools |
| `lint` | deps | golangci-lint |
| `sec` | deps | gosec security scan |
| `vulncheck` | deps | govulncheck |
| `secrets` | deps | gitleaks scan |
| `lint-ci` | deps | actionlint |
| `static-check` | deps, lint, sec, vulncheck, secrets, lint-ci | All static ch