refactor(cli): move git/multi-repo commands under core dev
Move multi-repo workflow commands under `core dev`: - work, health, commit, push, pull - issues, reviews, ci, impact Cleaner root with language-specific groups: - core go (Go development) - core php (PHP/Laravel) - core dev (multi-repo workflow) - core vm (LinuxKit VMs) - core pkg (package management) Update SKILL.md with new command paths. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
2d2b63af39
commit
b4872c65b3
11 changed files with 65 additions and 48 deletions
|
|
@ -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 |
|
| Build for targets | `core build --targets linux/amd64,darwin/arm64` | Cross-compile |
|
||||||
| Release | `core release` | Build + publish to GitHub/npm/Homebrew |
|
| Release | `core release` | Build + publish to GitHub/npm/Homebrew |
|
||||||
| Check environment | `core doctor` | Verify tools installed |
|
| Check environment | `core doctor` | Verify tools installed |
|
||||||
| Multi-repo status | `core health` | Quick summary across repos |
|
| Multi-repo status | `core dev health` | Quick summary across repos |
|
||||||
| Multi-repo workflow | `core work` | Status + commit + push |
|
| Multi-repo workflow | `core dev work` | Status + commit + push |
|
||||||
| Commit dirty repos | `core commit` | Claude-assisted commit messages |
|
| Commit dirty repos | `core dev commit` | Claude-assisted commit messages |
|
||||||
| Push repos | `core push` | Push repos with unpushed commits |
|
| Push repos | `core dev push` | Push repos with unpushed commits |
|
||||||
| Pull repos | `core pull` | Pull repos that are behind |
|
| Pull repos | `core dev pull` | Pull repos that are behind |
|
||||||
| List issues | `core issues` | Open issues across repos |
|
| List issues | `core dev issues` | Open issues across repos |
|
||||||
| List PRs | `core reviews` | PRs needing review |
|
| List PRs | `core dev reviews` | PRs needing review |
|
||||||
| Check CI | `core ci` | GitHub Actions status |
|
| Check CI | `core dev ci` | GitHub Actions status |
|
||||||
| Generate SDK | `core sdk` | Generate API clients from OpenAPI |
|
| Generate SDK | `core sdk` | Generate API clients from OpenAPI |
|
||||||
| Sync docs | `core docs sync` | Sync docs across repos |
|
| Sync docs | `core docs sync` | Sync docs across repos |
|
||||||
| Search packages | `core pkg search <query>` | GitHub search for core-* repos |
|
| Search packages | `core pkg search <query>` | GitHub search for core-* repos |
|
||||||
|
|
@ -71,30 +71,30 @@ When working across host-uk repositories:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Quick health check
|
# Quick health check
|
||||||
core health
|
core dev health
|
||||||
# Output: "18 repos │ clean │ synced"
|
# Output: "18 repos │ clean │ synced"
|
||||||
|
|
||||||
# Full status table
|
# Full status table
|
||||||
core work --status
|
core dev work --status
|
||||||
|
|
||||||
# Commit + push workflow
|
# Commit + push workflow
|
||||||
core work
|
core dev work
|
||||||
|
|
||||||
# Commit dirty repos with Claude
|
# Commit dirty repos with Claude
|
||||||
core commit
|
core dev commit
|
||||||
|
|
||||||
# Push repos with unpushed commits
|
# Push repos with unpushed commits
|
||||||
core push
|
core dev push
|
||||||
|
|
||||||
# Pull repos that are behind
|
# Pull repos that are behind
|
||||||
core pull
|
core dev pull
|
||||||
```
|
```
|
||||||
|
|
||||||
### Dependency Analysis
|
### Dependency Analysis
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# What depends on core-php?
|
# What depends on core-php?
|
||||||
core impact core-php
|
core dev impact core-php
|
||||||
```
|
```
|
||||||
|
|
||||||
## GitHub Integration
|
## GitHub Integration
|
||||||
|
|
@ -103,16 +103,16 @@ Requires `gh` CLI authenticated.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Open issues across all repos
|
# Open issues across all repos
|
||||||
core issues
|
core dev issues
|
||||||
|
|
||||||
# Include closed issues
|
# Include closed issues
|
||||||
core issues --all
|
core dev issues --all
|
||||||
|
|
||||||
# PRs needing review
|
# PRs needing review
|
||||||
core reviews
|
core dev reviews
|
||||||
|
|
||||||
# CI status
|
# CI status
|
||||||
core ci
|
core dev ci
|
||||||
```
|
```
|
||||||
|
|
||||||
## SDK Generation
|
## SDK Generation
|
||||||
|
|
@ -487,15 +487,15 @@ PHP/Laravel project?
|
||||||
└── Deploy: core php deploy [--staging]
|
└── Deploy: core php deploy [--staging]
|
||||||
|
|
||||||
Working across multiple repos?
|
Working across multiple repos?
|
||||||
└── Quick check: core health
|
└── Quick check: core dev health
|
||||||
└── Full workflow: core work
|
└── Full workflow: core dev work
|
||||||
└── Just commit: core commit
|
└── Just commit: core dev commit
|
||||||
└── Just push: core push
|
└── Just push: core dev push
|
||||||
|
|
||||||
Need GitHub info?
|
Need GitHub info?
|
||||||
└── Issues: core issues
|
└── Issues: core dev issues
|
||||||
└── PRs: core reviews
|
└── PRs: core dev reviews
|
||||||
└── CI: core ci
|
└── CI: core dev ci
|
||||||
|
|
||||||
Setting up environment?
|
Setting up environment?
|
||||||
└── Check: core doctor
|
└── Check: core doctor
|
||||||
|
|
@ -519,9 +519,9 @@ Managing packages?
|
||||||
| `php artisan serve` | `core php dev` | Missing Vite, Horizon, Reverb, Redis |
|
| `php artisan serve` | `core php dev` | Missing Vite, Horizon, Reverb, Redis |
|
||||||
| `./vendor/bin/pest` | `core php test` | Inconsistent invocation |
|
| `./vendor/bin/pest` | `core php test` | Inconsistent invocation |
|
||||||
| `./vendor/bin/pint` | `core php fmt --fix` | Consistent interface |
|
| `./vendor/bin/pint` | `core php fmt --fix` | Consistent interface |
|
||||||
| `git status` in each repo | `core health` | Slow, manual |
|
| `git status` in each repo | `core dev health` | Slow, manual |
|
||||||
| `gh pr list` per repo | `core reviews` | Aggregated view |
|
| `gh pr list` per repo | `core dev reviews` | Aggregated view |
|
||||||
| Manual commits across repos | `core commit` | Consistent messages, Co-Authored-By |
|
| Manual commits across repos | `core dev commit` | Consistent messages, Co-Authored-By |
|
||||||
| Manual Coolify deploys | `core php deploy` | Tracked, scriptable |
|
| Manual Coolify deploys | `core php deploy` | Tracked, scriptable |
|
||||||
| Raw `linuxkit run` | `core vm run` | Unified interface, templates |
|
| Raw `linuxkit run` | `core vm run` | Unified interface, templates |
|
||||||
| `gh repo clone` | `core pkg install` | Auto-detects org, adds to registry |
|
| `gh repo clone` | `core pkg install` | Auto-detects org, adds to registry |
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ type WorkflowRun struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddCICommand adds the 'ci' command to the given parent command.
|
// AddCICommand adds the 'ci' command to the given parent command.
|
||||||
func AddCICommand(parent *clir.Cli) {
|
func AddCICommand(parent *clir.Command) {
|
||||||
var registryPath string
|
var registryPath string
|
||||||
var branch string
|
var branch string
|
||||||
var failedOnly bool
|
var failedOnly bool
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddCommitCommand adds the 'commit' command to the given parent command.
|
// AddCommitCommand adds the 'commit' command to the given parent command.
|
||||||
func AddCommitCommand(parent *clir.Cli) {
|
func AddCommitCommand(parent *clir.Command) {
|
||||||
var registryPath string
|
var registryPath string
|
||||||
var all bool
|
var all bool
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddHealthCommand adds the 'health' command to the given parent command.
|
// AddHealthCommand adds the 'health' command to the given parent command.
|
||||||
func AddHealthCommand(parent *clir.Cli) {
|
func AddHealthCommand(parent *clir.Command) {
|
||||||
var registryPath string
|
var registryPath string
|
||||||
var verbose bool
|
var verbose bool
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddImpactCommand adds the 'impact' command to the given parent command.
|
// AddImpactCommand adds the 'impact' command to the given parent command.
|
||||||
func AddImpactCommand(parent *clir.Cli) {
|
func AddImpactCommand(parent *clir.Command) {
|
||||||
var registryPath string
|
var registryPath string
|
||||||
|
|
||||||
impactCmd := parent.NewSubCommand("impact", "Show impact of changing a repo")
|
impactCmd := parent.NewSubCommand("impact", "Show impact of changing a repo")
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ type GitHubIssue struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddIssuesCommand adds the 'issues' command to the given parent command.
|
// AddIssuesCommand adds the 'issues' command to the given parent command.
|
||||||
func AddIssuesCommand(parent *clir.Cli) {
|
func AddIssuesCommand(parent *clir.Command) {
|
||||||
var registryPath string
|
var registryPath string
|
||||||
var limit int
|
var limit int
|
||||||
var assignee string
|
var assignee string
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddPullCommand adds the 'pull' command to the given parent command.
|
// AddPullCommand adds the 'pull' command to the given parent command.
|
||||||
func AddPullCommand(parent *clir.Cli) {
|
func AddPullCommand(parent *clir.Command) {
|
||||||
var registryPath string
|
var registryPath string
|
||||||
var all bool
|
var all bool
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddPushCommand adds the 'push' command to the given parent command.
|
// AddPushCommand adds the 'push' command to the given parent command.
|
||||||
func AddPushCommand(parent *clir.Cli) {
|
func AddPushCommand(parent *clir.Command) {
|
||||||
var registryPath string
|
var registryPath string
|
||||||
var force bool
|
var force bool
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ type GitHubPR struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddReviewsCommand adds the 'reviews' command to the given parent command.
|
// AddReviewsCommand adds the 'reviews' command to the given parent command.
|
||||||
func AddReviewsCommand(parent *clir.Cli) {
|
func AddReviewsCommand(parent *clir.Command) {
|
||||||
var registryPath string
|
var registryPath string
|
||||||
var author string
|
var author string
|
||||||
var showAll bool
|
var showAll bool
|
||||||
|
|
|
||||||
|
|
@ -25,22 +25,39 @@ func Execute() error {
|
||||||
app := clir.NewCli("core", "CLI for Go/PHP development, multi-repo management, and deployment", "0.1.0")
|
app := clir.NewCli("core", "CLI for Go/PHP development, multi-repo management, and deployment", "0.1.0")
|
||||||
|
|
||||||
// Add the top-level commands
|
// 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)
|
AddAPICommands(devCmd)
|
||||||
AddSyncCommand(devCmd)
|
AddSyncCommand(devCmd)
|
||||||
AddAgenticCommands(devCmd)
|
AddAgenticCommands(devCmd)
|
||||||
AddDevCommand(devCmd)
|
AddDevCommand(devCmd)
|
||||||
|
|
||||||
|
// Top-level commands
|
||||||
AddBuildCommand(app)
|
AddBuildCommand(app)
|
||||||
AddWorkCommand(app)
|
|
||||||
AddHealthCommand(app)
|
|
||||||
AddIssuesCommand(app)
|
|
||||||
AddReviewsCommand(app)
|
|
||||||
AddCommitCommand(app)
|
|
||||||
AddPushCommand(app)
|
|
||||||
AddPullCommand(app)
|
|
||||||
AddImpactCommand(app)
|
|
||||||
AddDocsCommand(app)
|
AddDocsCommand(app)
|
||||||
AddCICommand(app)
|
|
||||||
AddSetupCommand(app)
|
AddSetupCommand(app)
|
||||||
AddDoctorCommand(app)
|
AddDoctorCommand(app)
|
||||||
AddPkgCommands(app)
|
AddPkgCommands(app)
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddWorkCommand adds the 'work' command to the given parent command.
|
// AddWorkCommand adds the 'work' command to the given parent command.
|
||||||
func AddWorkCommand(parent *clir.Cli) {
|
func AddWorkCommand(parent *clir.Command) {
|
||||||
var statusOnly bool
|
var statusOnly bool
|
||||||
var autoCommit bool
|
var autoCommit bool
|
||||||
var registryPath string
|
var registryPath string
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue