cli/cmd/ai/cmd_commands.go
Claude 47e11e7861
refactor: flatten commands, extract php/ci variants to own repos
- Remove internal/cmd/php/ (now core/php repo)
- Remove internal/cmd/ci/ and internal/cmd/sdk/ (now core/ci repo)
- Remove internal/variants/ build tag system entirely
- Move all 30 remaining command packages from internal/cmd/ to cmd/
- Rewrite main.go with direct imports (no more variant selection)
- Update all cross-references from internal/cmd/ to cmd/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:44:28 +00:00

94 lines
2.3 KiB
Go

// Package ai provides AI agent task management and Claude Code integration.
//
// Commands:
// - tasks: List tasks from the agentic service
// - task: View, claim, or auto-select tasks
// - task:update: Update task status and progress
// - task:complete: Mark tasks as completed or failed
// - task:commit: Create commits with task references
// - task:pr: Create pull requests linked to tasks
// - claude: Claude Code CLI integration (planned)
// - rag: RAG tools (ingest, query, collections)
// - metrics: View AI/security event metrics
package ai
import (
ragcmd "forge.lthn.ai/core/cli/cmd/rag"
"forge.lthn.ai/core/go/pkg/cli"
"forge.lthn.ai/core/go/pkg/i18n"
)
func init() {
cli.RegisterCommands(AddAICommands)
}
var aiCmd = &cli.Command{
Use: "ai",
Short: i18n.T("cmd.ai.short"),
Long: i18n.T("cmd.ai.long"),
}
var claudeCmd = &cli.Command{
Use: "claude",
Short: i18n.T("cmd.ai.claude.short"),
Long: i18n.T("cmd.ai.claude.long"),
}
var claudeRunCmd = &cli.Command{
Use: "run",
Short: i18n.T("cmd.ai.claude.run.short"),
RunE: func(cmd *cli.Command, args []string) error {
return runClaudeCode()
},
}
var claudeConfigCmd = &cli.Command{
Use: "config",
Short: i18n.T("cmd.ai.claude.config.short"),
RunE: func(cmd *cli.Command, args []string) error {
return showClaudeConfig()
},
}
func initCommands() {
// Add Claude subcommands
claudeCmd.AddCommand(claudeRunCmd)
claudeCmd.AddCommand(claudeConfigCmd)
// Add Claude command to ai
aiCmd.AddCommand(claudeCmd)
// Add agentic task commands
AddAgenticCommands(aiCmd)
// Add RAG subcommands (core ai rag ...)
ragcmd.AddRAGSubcommands(aiCmd)
// Add metrics subcommand (core ai metrics)
addMetricsCommand(aiCmd)
// Add agent management commands (core ai agent ...)
AddAgentCommands(aiCmd)
// Add rate limit management commands (core ai ratelimits ...)
AddRateLimitCommands(aiCmd)
// Add dispatch commands (core ai dispatch run/watch/status)
AddDispatchCommands(aiCmd)
}
// AddAICommands registers the 'ai' command and all subcommands.
func AddAICommands(root *cli.Command) {
initCommands()
root.AddCommand(aiCmd)
}
func runClaudeCode() error {
// Placeholder - will integrate with claude CLI
return nil
}
func showClaudeConfig() error {
// Placeholder - will show claude configuration
return nil
}