diff --git a/.claude/skills/core/SKILL.md b/.claude/skills/core/SKILL.md index f7a096c9..15af23d0 100644 --- a/.claude/skills/core/SKILL.md +++ b/.claude/skills/core/SKILL.md @@ -27,14 +27,14 @@ The `core` command provides a unified interface for Go/Wails development, multi- | Build for targets | `core build --targets linux/amd64,darwin/arm64` | Cross-compile | | Release | `core release` | Build + publish to GitHub/npm/Homebrew | | Check environment | `core doctor` | Verify tools installed | -| Multi-repo status | `core health` | Quick summary across repos | -| Multi-repo workflow | `core work` | Status + commit + push | -| Commit dirty repos | `core commit` | Claude-assisted commit messages | -| Push repos | `core push` | Push repos with unpushed commits | -| Pull repos | `core pull` | Pull repos that are behind | -| List issues | `core issues` | Open issues across repos | -| List PRs | `core reviews` | PRs needing review | -| Check CI | `core ci` | GitHub Actions status | +| Multi-repo status | `core dev health` | Quick summary across repos | +| Multi-repo workflow | `core dev work` | Status + commit + push | +| Commit dirty repos | `core dev commit` | Claude-assisted commit messages | +| Push repos | `core dev push` | Push repos with unpushed commits | +| Pull repos | `core dev pull` | Pull repos that are behind | +| List issues | `core dev issues` | Open issues across repos | +| List PRs | `core dev reviews` | PRs needing review | +| Check CI | `core dev ci` | GitHub Actions status | | Generate SDK | `core sdk` | Generate API clients from OpenAPI | | Sync docs | `core docs sync` | Sync docs across repos | | Search packages | `core pkg search ` | GitHub search for core-* repos | @@ -71,30 +71,30 @@ When working across host-uk repositories: ```bash # Quick health check -core health +core dev health # Output: "18 repos │ clean │ synced" # Full status table -core work --status +core dev work --status # Commit + push workflow -core work +core dev work # Commit dirty repos with Claude -core commit +core dev commit # Push repos with unpushed commits -core push +core dev push # Pull repos that are behind -core pull +core dev pull ``` ### Dependency Analysis ```bash # What depends on core-php? -core impact core-php +core dev impact core-php ``` ## GitHub Integration @@ -103,16 +103,16 @@ Requires `gh` CLI authenticated. ```bash # Open issues across all repos -core issues +core dev issues # Include closed issues -core issues --all +core dev issues --all # PRs needing review -core reviews +core dev reviews # CI status -core ci +core dev ci ``` ## SDK Generation @@ -487,15 +487,15 @@ PHP/Laravel project? └── Deploy: core php deploy [--staging] Working across multiple repos? - └── Quick check: core health - └── Full workflow: core work - └── Just commit: core commit - └── Just push: core push + └── Quick check: core dev health + └── Full workflow: core dev work + └── Just commit: core dev commit + └── Just push: core dev push Need GitHub info? - └── Issues: core issues - └── PRs: core reviews - └── CI: core ci + └── Issues: core dev issues + └── PRs: core dev reviews + └── CI: core dev ci Setting up environment? └── Check: core doctor @@ -519,9 +519,9 @@ Managing packages? | `php artisan serve` | `core php dev` | Missing Vite, Horizon, Reverb, Redis | | `./vendor/bin/pest` | `core php test` | Inconsistent invocation | | `./vendor/bin/pint` | `core php fmt --fix` | Consistent interface | -| `git status` in each repo | `core health` | Slow, manual | -| `gh pr list` per repo | `core reviews` | Aggregated view | -| Manual commits across repos | `core commit` | Consistent messages, Co-Authored-By | +| `git status` in each repo | `core dev health` | Slow, manual | +| `gh pr list` per repo | `core dev reviews` | Aggregated view | +| Manual commits across repos | `core dev commit` | Consistent messages, Co-Authored-By | | Manual Coolify deploys | `core php deploy` | Tracked, scriptable | | Raw `linuxkit run` | `core vm run` | Unified interface, templates | | `gh repo clone` | `core pkg install` | Auto-detects org, adds to registry | diff --git a/cmd/core/cmd/ci.go b/cmd/core/cmd/ci.go index 2c0a1183..dafe01a1 100644 --- a/cmd/core/cmd/ci.go +++ b/cmd/core/cmd/ci.go @@ -44,7 +44,7 @@ type WorkflowRun struct { } // AddCICommand adds the 'ci' command to the given parent command. -func AddCICommand(parent *clir.Cli) { +func AddCICommand(parent *clir.Command) { var registryPath string var branch string var failedOnly bool diff --git a/cmd/core/cmd/commit.go b/cmd/core/cmd/commit.go index 34370994..a903de8c 100644 --- a/cmd/core/cmd/commit.go +++ b/cmd/core/cmd/commit.go @@ -13,7 +13,7 @@ import ( ) // AddCommitCommand adds the 'commit' command to the given parent command. -func AddCommitCommand(parent *clir.Cli) { +func AddCommitCommand(parent *clir.Command) { var registryPath string var all bool diff --git a/cmd/core/cmd/health.go b/cmd/core/cmd/health.go index 812ee54d..71677daa 100644 --- a/cmd/core/cmd/health.go +++ b/cmd/core/cmd/health.go @@ -34,7 +34,7 @@ var ( ) // AddHealthCommand adds the 'health' command to the given parent command. -func AddHealthCommand(parent *clir.Cli) { +func AddHealthCommand(parent *clir.Command) { var registryPath string var verbose bool diff --git a/cmd/core/cmd/impact.go b/cmd/core/cmd/impact.go index 1838becf..1708802d 100644 --- a/cmd/core/cmd/impact.go +++ b/cmd/core/cmd/impact.go @@ -23,7 +23,7 @@ var ( ) // AddImpactCommand adds the 'impact' command to the given parent command. -func AddImpactCommand(parent *clir.Cli) { +func AddImpactCommand(parent *clir.Command) { var registryPath string impactCmd := parent.NewSubCommand("impact", "Show impact of changing a repo") diff --git a/cmd/core/cmd/issues.go b/cmd/core/cmd/issues.go index 3a1ebc95..88ed7b1d 100644 --- a/cmd/core/cmd/issues.go +++ b/cmd/core/cmd/issues.go @@ -61,7 +61,7 @@ type GitHubIssue struct { } // AddIssuesCommand adds the 'issues' command to the given parent command. -func AddIssuesCommand(parent *clir.Cli) { +func AddIssuesCommand(parent *clir.Command) { var registryPath string var limit int var assignee string diff --git a/cmd/core/cmd/pull.go b/cmd/core/cmd/pull.go index 35635056..841f4b4f 100644 --- a/cmd/core/cmd/pull.go +++ b/cmd/core/cmd/pull.go @@ -12,7 +12,7 @@ import ( ) // AddPullCommand adds the 'pull' command to the given parent command. -func AddPullCommand(parent *clir.Cli) { +func AddPullCommand(parent *clir.Command) { var registryPath string var all bool diff --git a/cmd/core/cmd/push.go b/cmd/core/cmd/push.go index 00d56774..b98e2f78 100644 --- a/cmd/core/cmd/push.go +++ b/cmd/core/cmd/push.go @@ -11,7 +11,7 @@ import ( ) // AddPushCommand adds the 'push' command to the given parent command. -func AddPushCommand(parent *clir.Cli) { +func AddPushCommand(parent *clir.Command) { var registryPath string var force bool diff --git a/cmd/core/cmd/reviews.go b/cmd/core/cmd/reviews.go index 0c256957..470112d5 100644 --- a/cmd/core/cmd/reviews.go +++ b/cmd/core/cmd/reviews.go @@ -66,7 +66,7 @@ type GitHubPR struct { } // AddReviewsCommand adds the 'reviews' command to the given parent command. -func AddReviewsCommand(parent *clir.Cli) { +func AddReviewsCommand(parent *clir.Command) { var registryPath string var author string var showAll bool diff --git a/cmd/core/cmd/root.go b/cmd/core/cmd/root.go index 69f66b16..86826cea 100644 --- a/cmd/core/cmd/root.go +++ b/cmd/core/cmd/root.go @@ -25,22 +25,39 @@ func Execute() error { app := clir.NewCli("core", "CLI for Go/PHP development, multi-repo management, and deployment", "0.1.0") // Add the top-level commands - devCmd := app.NewSubCommand("dev", "Development tools for Core Framework") + devCmd := app.NewSubCommand("dev", "Multi-repo development workflow") + devCmd.LongDescription("Multi-repo git operations and GitHub integration.\n\n" + + "Commands:\n" + + " work Multi-repo status, commit, push workflow\n" + + " health Quick health check across repos\n" + + " commit Claude-assisted commits\n" + + " push Push repos with unpushed commits\n" + + " pull Pull repos that are behind\n" + + " issues List open issues across repos\n" + + " reviews List PRs needing review\n" + + " ci Check CI status\n" + + " impact Show dependency impact") + + // Git/multi-repo commands under dev + AddWorkCommand(devCmd) + AddHealthCommand(devCmd) + AddCommitCommand(devCmd) + AddPushCommand(devCmd) + AddPullCommand(devCmd) + AddIssuesCommand(devCmd) + AddReviewsCommand(devCmd) + AddCICommand(devCmd) + AddImpactCommand(devCmd) + + // Internal dev tools (API, sync, agentic) AddAPICommands(devCmd) AddSyncCommand(devCmd) AddAgenticCommands(devCmd) AddDevCommand(devCmd) + + // Top-level commands AddBuildCommand(app) - AddWorkCommand(app) - AddHealthCommand(app) - AddIssuesCommand(app) - AddReviewsCommand(app) - AddCommitCommand(app) - AddPushCommand(app) - AddPullCommand(app) - AddImpactCommand(app) AddDocsCommand(app) - AddCICommand(app) AddSetupCommand(app) AddDoctorCommand(app) AddPkgCommands(app) diff --git a/cmd/core/cmd/work.go b/cmd/core/cmd/work.go index 5df62e72..65055bc7 100644 --- a/cmd/core/cmd/work.go +++ b/cmd/core/cmd/work.go @@ -55,7 +55,7 @@ var ( ) // AddWorkCommand adds the 'work' command to the given parent command. -func AddWorkCommand(parent *clir.Cli) { +func AddWorkCommand(parent *clir.Command) { var statusOnly bool var autoCommit bool var registryPath string