lint/cmd/qa/cmd_qa.go
Snider 6806b20651 fix(dx): fix build error, replace os.* with go-io, add scanner tests
- Fix RegisterCommands call to match single-arg signature; register
  locales separately via i18n.RegisterLocales
- Replace os.Stat/os.ReadDir with coreio.Local equivalents in
  detect.go, format.go, main.go, cmd_docblock.go
- Add tests for languagesFromRules, IsExcludedDir, ScanFile edge cases
- Coverage: pkg/lint 71.0% → 72.9%, pkg/detect 100%, pkg/php 68.7%

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 09:02:06 +00:00

50 lines
1.2 KiB
Go

// Package qa provides quality assurance workflow commands.
//
// Unlike `core dev` which is about doing work (commit, push, pull),
// `core qa` is about verifying work (CI status, reviews, issues).
//
// Commands:
// - watch: Monitor GitHub Actions after a push, report actionable data
// - review: PR review status with actionable next steps
// - health: Aggregate CI health across all repos
// - issues: Intelligent issue triage
package qa
import (
"forge.lthn.ai/core/cli/pkg/cli"
i18n "forge.lthn.ai/core/go-i18n"
"forge.lthn.ai/core/lint/locales"
)
func init() {
i18n.RegisterLocales(locales.FS, ".")
cli.RegisterCommands(AddQACommands)
}
// Style aliases from shared package
var (
successStyle = cli.SuccessStyle
errorStyle = cli.ErrorStyle
warningStyle = cli.WarningStyle
dimStyle = cli.DimStyle
)
// AddQACommands registers the 'qa' command and all subcommands.
func AddQACommands(root *cli.Command) {
qaCmd := &cli.Command{
Use: "qa",
Short: i18n.T("cmd.qa.short"),
Long: i18n.T("cmd.qa.long"),
}
root.AddCommand(qaCmd)
// Go-focused subcommands
addWatchCommand(qaCmd)
addReviewCommand(qaCmd)
addHealthCommand(qaCmd)
addIssuesCommand(qaCmd)
addDocblockCommand(qaCmd)
// PHP subcommands
addPHPCommands(qaCmd)
}