chore(lint): add golangci-lint v2 with CI workflow
Configure golangci-lint v2.12.2 with a curated linter set (bodyclose,
errorlint, gocritic, gosec, revive, etc.) plus gofumpt + goimports
formatters. Add a GitHub Actions workflow that runs lint on push and PR.
Tune rule suppressions for CLI idioms (tablewriter result discard, PAGER
subprocess, urfave/cli int casts, proto Id/Url naming). Apply
golangci-lint --fix across 59 files for whitespace, gofumpt, and
staticcheck rewrites; tests still pass.
feat: add terraform generate command to export workspace resources to HCL (#25)
Adds `openstatus terraform generate` (alias `tf gen`) that fetches all
workspace resources and generates Terraform HCL files with import blocks.
- New `internal/terraform/` package with fetch, HCL generation (hclwrite),
naming/dedup, region mapping (28 regions), and enum converters
- Generates provider.tf, monitors.tf, notifications.tf, status_pages.tf,
and imports.tf in ./openstatus-terraform/
- Supports HTTP, TCP, DNS monitors, 12 notification providers, status pages
with components and component groups
- Cross-references single-value fields (page_id, monitor_id, group_id) as
Terraform traversals with fallback to raw strings
- Sensitive values emitted as "REPLACE_ME" with TODO comments
- Updates CLI skill with terraform trigger phrases and workflow docs
feat: add terraform generate command to export workspace resources to HCL (#25)
Adds `openstatus terraform generate` (alias `tf gen`) that fetches all
workspace resources and generates Terraform HCL files with import blocks.
- New `internal/terraform/` package with fetch, HCL generation (hclwrite),
naming/dedup, region mapping (28 regions), and enum converters
- Generates provider.tf, monitors.tf, notifications.tf, status_pages.tf,
and imports.tf in ./openstatus-terraform/
- Supports HTTP, TCP, DNS monitors, 12 notification providers, status pages
with components and component groups
- Cross-references single-value fields (page_id, monitor_id, group_id) as
Terraform traversals with fallback to raw strings
- Sensitive values emitted as "REPLACE_ME" with TODO comments
- Updates CLI skill with terraform trigger phrases and workflow docs
feat: add terraform generate command to export workspace resources to HCL (#25)
Adds `openstatus terraform generate` (alias `tf gen`) that fetches all
workspace resources and generates Terraform HCL files with import blocks.
- New `internal/terraform/` package with fetch, HCL generation (hclwrite),
naming/dedup, region mapping (28 regions), and enum converters
- Generates provider.tf, monitors.tf, notifications.tf, status_pages.tf,
and imports.tf in ./openstatus-terraform/
- Supports HTTP, TCP, DNS monitors, 12 notification providers, status pages
with components and component groups
- Cross-references single-value fields (page_id, monitor_id, group_id) as
Terraform traversals with fallback to raw strings
- Sensitive values emitted as "REPLACE_ME" with TODO comments
- Updates CLI skill with terraform trigger phrases and workflow docs