gkn CLI
Overview
Use this skill to map user goals to exact gkn commands and flags, including global --json, repo selection patterns, and skills sync workflows.
Intent To Command
- Initialize config:
gkn config init(use--forceto overwrite). - Show config:
gkn config show. - Validate config:
gkn config validate. - Quickstart repo + skills:
gkn quickstart <name> [--public|--private]. - Clone repo into
reposRoot:gkn clone <url>orgkn repo clone <url>. - List repos:
gkn repo list. - Check dirty/clean:
gkn repo status. - Show recent activity:
gkn repo recent --limit n. - Open repo in VS Code:
gkn repo open <pattern> [--pick n]. - Get repo path:
gkn repo path <pattern> [--pick n]. - Show repo info:
gkn repo info <pattern> [--pick n]. - Show oneline log:
gkn repo graph <pattern> [--pick n] [--limit n]. - Run command across repos:
gkn repo exec --cmd "<command>". - Clone or update skills repo:
gkn skills clone [--remote url]. - Sync skills:
gkn skills sync [--mode copy|mirror|link]. - Link skills:
gkn skills link. - Check drift:
gkn skills difforgkn skills status. - Verify match:
gkn skills verify(exit code2on mismatch). - Pin skills to ref:
gkn skills pin --target name --ref <commit|tag>. - Clean extras:
gkn skills clean --force. - Watch and auto-sync:
gkn skills watch --interval sec. - Environment check:
gkn doctor. - Show version:
gkn version.
Global Behavior
- Use
gkn help,gkn -h, orgkn --helpto show top-level usage. - Use
gkn <group> --helporgkn <group> <command> --helpfor details. - Use global
--jsonto emit JSON envelopes (level,message,data). - Treat
<pattern>as substring match on repo name unless it contains*or?(glob match). - Use
--pick n(1-based) when multiple matches exist. - Use
--onlyand--excludeas repeatable or comma-separated globs. - Note
gkn repo openrunscode <path>on the selected repo.
Commands (Complete)
text1gkn [--json] <command> 2 3gkn clone <url> [--name repo] 4gkn quickstart <name> [--public|--private] 5 6gkn repo list [--only glob] [--exclude glob] 7gkn repo status [--only glob] [--exclude glob] 8gkn repo open <pattern> [--pick n] 9gkn repo path <pattern> [--pick n] 10gkn repo recent [--limit n] [--only glob] [--exclude glob] 11gkn repo info <pattern> [--pick n] 12gkn repo graph <pattern> [--pick n] [--limit n] 13gkn repo clone <url> [--name repo] 14gkn repo exec --cmd "<command>" [--parallel n] [--timeout sec] [--require-clean] [--dry-run] [--only glob] [--exclude glob] 15 16gkn skills clone [--remote url] [--force] 17gkn skills sync [--target name] [--mode copy|mirror|link] [--force] [--dry-run] [--only glob] [--exclude glob] 18gkn skills link [--target name] [--force] [--dry-run] [--only glob] [--exclude glob] 19gkn skills watch [--target name] [--interval sec] 20gkn skills diff [--target name] [--only glob] [--exclude glob] 21gkn skills verify [--target name] [--only glob] [--exclude glob] 22gkn skills status [--target name] [--only glob] [--exclude glob] 23gkn skills pin --target name --ref <commit|tag> [--force] 24gkn skills clean [--target name] [--force] [--dry-run] [--only glob] [--exclude glob] 25 26gkn config show 27gkn config init [--force] 28gkn config validate 29gkn doctor 30gkn version
Command Notes
cloneis an alias forrepo cloneand clones intoreposRoot.repo listoutputsname pathfor each repo;repo statusreportsclean/dirty.repo recentsorts by last commit time; repos with no commits are flagged.repo infoshows origin/current/default/dirty;repo graphshows oneline log.repo execruns a shell command per repo with optional parallelism, timeout,--require-clean, and--dry-run.skills cloneusesskillsRemotefrom config unless--remoteis provided; pulls ifskillsRootalready is a git repo.skills syncapplies configuredsyncTargets;skills linkforces link mode.skills diff/statusshow drift;skills verifyexits with code2on mismatch.skills pinrequires cleanskillsRootunless--force.skills cleanrequires--forceorconflictPolicy=overwriteand removes files not insrc(supports--dry-run).config show/init/validateoperate on~/.config/github-kanri/config.json.
Exit Codes
skills verifyreturns2on mismatch.- Most commands return
1on error and0on success. repo execreturns1if any execution error occurs;--require-cleanskips dirty repos without failing.
Examples
text1gkn --json repo list 2gkn repo status --only "foo*" --exclude "tmp*" 3gkn repo open api --pick 2 4gkn repo exec --cmd "git status -sb" --parallel 4 5gkn skills sync --mode mirror --dry-run 6gkn skills verify --target skills 7gkn skills clean --force --dry-run 8gkn quickstart my-repo