gh-axi 0.1.33 → 0.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -41,7 +41,7 @@ npx skills add kunchenguid/gh-axi --skill gh-axi -g
41
41
  ```
42
42
 
43
43
  That is the entire setup - no npm install needed.
44
- The skill teaches your agent to run gh-axi through `npx -y gh-axi`, so the CLI comes along on demand.
44
+ The skill is a minimal discovery stub that directs your agent to the always-current `npx -y gh-axi` dashboard and help output instead of duplicating command guidance.
45
45
  You still need [`gh`](https://cli.github.com/) installed and authenticated via `gh auth login` (Node 20+ required).
46
46
  Stacked PR commands also require GitHub's official extension: `gh extension install github/gh-stack`.
47
47
  For GitHub Enterprise or another custom host, authenticate `gh` for that host and either pass `--hostname <host>` after the command or set `GH_HOST`.
@@ -205,13 +205,14 @@ When a command also needs a destination repository, use a dedicated flag for it:
205
205
 
206
206
  ```sh
207
207
  pnpm run build # Compile TypeScript to dist/
208
- pnpm run build:skill # Regenerate skills/gh-axi/SKILL.md from shared skill source
208
+ pnpm run build:skill # Regenerate skills/gh-axi/SKILL.md from src/skill.ts
209
209
  pnpm run dev # Run CLI directly with tsx
210
210
  pnpm test # Run tests with vitest
211
211
  pnpm run test:watch # Run tests in watch mode
212
212
  ```
213
213
 
214
- The committed `skills/gh-axi/SKILL.md` is generated by `pnpm run build:skill`; `pnpm test` fails if it drifts from the shared CLI guidance or generated skill frontmatter.
214
+ The committed `skills/gh-axi/SKILL.md` is generated from `src/skill.ts` by `pnpm run build:skill`; `pnpm test` fails if the generated file drifts.
215
+ The generated skill intentionally defers all command guidance to the CLI dashboard and help output so installed copies do not duplicate stale instructions.
215
216
  The npm package includes `skills/gh-axi/`, so published releases ship the same installable Agent Skill documented in Quick Start.
216
217
 
217
218
  ## License
@@ -2,16 +2,14 @@ export declare const SKILL_DESCRIPTION: string;
2
2
  export declare const SKILL_AUTHOR = "Kun Chen (kunchenguid)";
3
3
  export declare const HERMES_TAGS: string[];
4
4
  export declare const HERMES_CATEGORY = "devops";
5
+ export declare const MAX_SKILL_MARKDOWN_CHARS = 2500;
5
6
  /**
6
- * Extract the `commands[N]:` block from the top-level help so the skill's
7
- * command list can never drift from what `gh-axi --help` prints.
8
- */
9
- export declare function extractCommandsBlock(): string;
10
- /**
11
- * Render the installable SKILL.md for the gh-axi skill. The body is built
12
- * from the same shared guidance the CLI prints (description and top-level
13
- * help), rewriting invocations to non-interactive `npx -y gh-axi ...` so the
14
- * CLI comes along on demand.
7
+ * Render the installable SKILL.md for the gh-axi skill.
8
+ *
9
+ * This is a discovery stub, not a copy of CLI guidance. Installed skills go
10
+ * stale; `gh-axi` (dashboard), `gh-axi --help`, and `gh-axi <command> --help`
11
+ * do not. Keep the body to what gh-axi is, when to reach for it, and pointers
12
+ * at those commands.
15
13
  *
16
14
  * @returns full SKILL.md contents including YAML frontmatter
17
15
  */
package/dist/src/skill.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DESCRIPTION, TOP_HELP } from "./cli.js";
1
+ import { DESCRIPTION } from "./cli.js";
2
2
  // Trigger string Claude Code (and other agents) match against to auto-load the skill.
3
3
  // Kept terse and outcome-focused so it fires on "needs GitHub" intents.
4
4
  export const SKILL_DESCRIPTION = "Operate GitHub through the gh-axi CLI - issues, pull requests, stacked PRs, workflow runs, workflows, " +
@@ -18,30 +18,25 @@ export const HERMES_TAGS = [
18
18
  "projects",
19
19
  ];
20
20
  export const HERMES_CATEGORY = "devops";
21
+ // Hard cap so a future regeneration cannot silently re-inflate the stub with
22
+ // CLI-owned instructions. Dashboard, `--help`, and per-command help are the
23
+ // source of truth.
24
+ export const MAX_SKILL_MARKDOWN_CHARS = 2500;
21
25
  function yamlDoubleQuote(value) {
22
26
  return JSON.stringify(value);
23
27
  }
24
28
  /**
25
- * Extract the `commands[N]:` block from the top-level help so the skill's
26
- * command list can never drift from what `gh-axi --help` prints.
27
- */
28
- export function extractCommandsBlock() {
29
- const match = TOP_HELP.match(/^(commands\[\d+\]:\n(?: {2}.*\n)+)/m);
30
- if (!match) {
31
- throw new Error("Could not find commands block in TOP_HELP");
32
- }
33
- return match[1].trimEnd();
34
- }
35
- /**
36
- * Render the installable SKILL.md for the gh-axi skill. The body is built
37
- * from the same shared guidance the CLI prints (description and top-level
38
- * help), rewriting invocations to non-interactive `npx -y gh-axi ...` so the
39
- * CLI comes along on demand.
29
+ * Render the installable SKILL.md for the gh-axi skill.
30
+ *
31
+ * This is a discovery stub, not a copy of CLI guidance. Installed skills go
32
+ * stale; `gh-axi` (dashboard), `gh-axi --help`, and `gh-axi <command> --help`
33
+ * do not. Keep the body to what gh-axi is, when to reach for it, and pointers
34
+ * at those commands.
40
35
  *
41
36
  * @returns full SKILL.md contents including YAML frontmatter
42
37
  */
43
38
  export function createSkillMarkdown() {
44
- return `---
39
+ const markdown = `---
45
40
  name: gh-axi
46
41
  description: ${yamlDoubleQuote(SKILL_DESCRIPTION)}
47
42
  user-invocable: false
@@ -56,63 +51,19 @@ metadata:
56
51
 
57
52
  ${DESCRIPTION}
58
53
 
59
- You do not need gh-axi installed globally - invoke it with \`npx -y gh-axi <command>\`.
60
- If gh-axi output shows a follow-up command starting with \`gh-axi\`, run it as \`npx -y gh-axi ...\` instead.
61
-
62
- gh-axi requires the [\`gh\`](https://cli.github.com/) CLI installed and authenticated (\`gh auth login\`). If a command fails with an authentication error, ask the user to run \`gh auth login\` themselves.
63
- Stack commands additionally require GitHub's official extension: \`gh extension install github/gh-stack\`.
64
- For GitHub Enterprise or another custom host, the underlying \`gh\` CLI must be authenticated for that host too; set \`GH_HOST\` or pass \`--hostname <host>\` after the command.
65
-
66
- ## When to use
54
+ Use gh-axi whenever a task touches GitHub: issues, pull requests, stacked PRs, CI, workflows, releases, repositories, labels, gists, Projects, Actions secrets and variables, search, or the GitHub API.
67
55
 
68
- Use gh-axi whenever a task touches GitHub: listing, filing, or editing issues; viewing, creating, reviewing, merging, or stacking pull requests; managing stacked branches; inspecting workflow runs and CI failures; triggering, enabling, or disabling workflows; managing releases, repositories, or labels; managing Projects (v2) boards and their items; managing Actions secrets or variables; searching issues, PRs, repos, commits, or code; listing, viewing, editing, renaming, creating, deleting, or cloning gists; or calling the GitHub API directly.
56
+ ## Current guidance lives in the CLI
69
57
 
70
- ## Workflow
58
+ Do not follow command, flag, or workflow instructions from this file - installed copies go stale. Get the current source of truth from the CLI:
71
59
 
72
- 1. Run \`npx -y gh-axi\` with no arguments for a dashboard of the current repo - open issues, open PRs, and suggested next commands.
73
- 2. Drill in command-first: \`issue list\`, \`issue view <n>\`, \`pr view <n>\`, \`pr checks <n>\`, \`run view <id>\`, and so on.
74
- 3. Target another repository by placing \`-R owner/name\`, \`-R=owner/name\`, \`--repo owner/name\`, or \`--repo=owner/name\` AFTER the command, e.g. \`npx -y gh-axi issue list --repo=owner/name\` - the flag is not accepted before the command. \`repo view\` also accepts exactly one positional repository, \`repo view owner/name\`, as a command-specific compatibility exception for \`gh repo view [<repository>]\`; do not combine it with \`--repo\` or generalize that positional form to other commands.
75
- 4. Target GitHub Enterprise or another custom host with \`GH_HOST\`, or by placing \`--hostname <host>\` or \`--hostname=<host>\` AFTER the command, e.g. \`npx -y gh-axi issue list --hostname=git.example.com\`.
76
- 5. Trigger (dispatch) a workflow with \`workflow run <name> --ref <ref>\`; \`run\` manages existing workflow runs.
77
- 6. Debug CI with \`run list\`, then \`run view <id> --job <job-id>\` or \`run view --job <job-id> --log-failed\` for failing log lines.
78
- Long \`--log\` and \`--log-failed\` output keeps the tail in context; when \`full_log\` appears, grep that file for earlier context.
79
- 7. Every response ends with contextual next-step hints under \`help:\` - follow them.
80
- 8. Manage stacked PRs from the target repository's working directory. Start with \`stack init <branch>\`, add layers with \`stack add <branch>\`, create PRs with \`stack submit --open\`, and inspect them with \`stack view\`.
81
-
82
- ## Commands
83
-
84
- \`\`\`
85
- ${extractCommandsBlock()}
86
- \`\`\`
87
-
88
- Installed copies also inherit the SDK built-in \`update\` command.
89
- Run \`gh-axi update --check\` to compare the installed version with npm, or \`gh-axi update\` to upgrade.
90
- When using \`npx -y gh-axi\`, npx already resolves the package on demand.
91
-
92
- Run \`npx -y gh-axi --help\` for global flags, or \`npx -y gh-axi <command> --help\` for per-command usage.
93
-
94
- ## Tips
95
-
96
- - Output is TOON-encoded and token-efficient; pipe through grep/head only when a list is very long.
97
- - Truncated workflow logs keep the final 20,000 characters and may include a temp \`full_log\` path for targeted grep searches.
98
- - Most mutations are idempotent and report what changed. Stack branch creation and partial pushes require checking the reported status before retrying.
99
- - Stack operations are cwd-bound and do not accept \`-R\`, \`--repo\`, or \`GH_REPO\`. They preserve the official extension's recovery exits and may partially push branches; inspect the reported status before retrying.
100
- - gh-axi keeps stack operations headless: \`stack view\` always uses JSON, \`stack submit\` always uses \`--auto\`, and \`stack merge <stack-or-pr>\` always uses \`--yes\`. Interactive \`gh stack modify\` and \`gh stack switch\` are intentionally not exposed.
101
- - For multi-line markdown bodies, comments, or release notes, write the text to a UTF-8 file and pass \`--body-file <path>\` or the release \`--notes-file <path>\` alias on commands that support file-backed text.
102
- - Label, assignee, reviewer, and project flags repeat: pass the flag once per value, e.g. \`issue edit 42 --add-label bug --add-label chore\`, and every value is applied. A repeated flag with a missing or blank value is rejected, never silently dropped.
103
- - Secret values are stdin-only: \`echo -n "<value>" | npx -y gh-axi secret set <name>\`.
104
- - Do not pass secrets with \`--body\` or \`-b\`; flags are visible in the \`gh-axi\` process argv.
105
- - Scope a secret to a deployment environment with \`--env\`/\`-e <environment>\` on \`secret list\`, \`set\`, and \`delete\`; omit it for repository scope. Other \`gh secret\` scopes (\`--org\`, \`--user\`, \`--app\`) are rejected, not silently ignored.
106
- - Variable values may use \`--body\`/\`-b\` or stdin because Actions variables are not secret.
107
- - For multi-line variable values, pipe stdin to \`npx -y gh-axi variable set <name>\`; \`--body\`/\`-b\` is for inline values only.
108
- - Projects (v2) are owner-scoped: pass \`--owner <login>\`, or omit it to use the current repo owner and then \`@me\`.
109
- - Projects calls need the \`project\` or \`read:project\` OAuth scope; if scope errors occur, ask the user to run the \`gh auth refresh -s ...\` command shown by gh-axi.
110
- - Use \`gist list\` to list your GitHub Gists; filter by visibility with \`--public\` or \`--secret\`, and add extra fields with \`--fields url,owner,created\`. Use \`gist view <id|url>\` to fetch a gist's metadata and file content; pass \`--files\` for names only, \`-f/--filename <name>\` for a single file, or \`--full\` to disable truncation.
111
- - Use \`gist edit <id|url>\` to update a gist's files or description: pipe content via stdin with \`--filename <name>\` to replace or add a file, \`--add <path>\` to add from disk, \`--remove <name>\` to remove, and \`--desc <text>\` to update the description. \`gist edit\` never opens $EDITOR.
112
- - Use \`gist rename <id|url> <old> <new>\` to rename a file within a gist.
113
- - Use \`gist create\` to create a gist. Visibility is required: pass \`--public\` or \`--secret\` (omitting either, or passing both, is an error). Use positional paths (\`gist create a.py b.py\`) or repeatable \`--file\` flags; do not mix the two. Pipe content with \`--filename <name>\` for stdin input. A secret gist is unlisted — anyone with the URL can read it.
114
- - Use \`gist delete <id|url>\` to delete a gist (always confirmed non-interactively). Use \`gist clone <id|url>\` to clone a gist locally.
115
- - Use \`api\` for anything the dedicated commands do not cover, e.g. \`npx -y gh-axi api repos/{owner}/{repo}/topics\`.
60
+ - \`npx -y gh-axi\` for a dashboard of the current repo
61
+ - \`npx -y gh-axi --help\` for global flags and the command index
62
+ - \`npx -y gh-axi <command> --help\` for per-command usage
116
63
  `;
64
+ if (markdown.length > MAX_SKILL_MARKDOWN_CHARS) {
65
+ throw new Error(`generated SKILL.md is ${markdown.length} chars; keep it a stub under ${MAX_SKILL_MARKDOWN_CHARS} and defer guidance to the CLI`);
66
+ }
67
+ return markdown;
117
68
  }
118
69
  //# sourceMappingURL=skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEjD,sFAAsF;AACtF,wEAAwE;AACxE,MAAM,CAAC,MAAM,iBAAiB,GAC5B,wGAAwG;IACxG,mHAAmH;IACnH,6HAA6H;IAC7H,wPAAwP,CAAC;AAE3P,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAErD,oEAAoE;AACpE,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,eAAe;IACf,UAAU;IACV,UAAU;CACX,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAExC,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;;eAEM,eAAe,CAAC,iBAAiB,CAAC;;UAEvC,YAAY;;;aAGT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,eAAe;;;;;EAK7B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BX,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BvB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,sFAAsF;AACtF,wEAAwE;AACxE,MAAM,CAAC,MAAM,iBAAiB,GAC5B,wGAAwG;IACxG,mHAAmH;IACnH,6HAA6H;IAC7H,wPAAwP,CAAC;AAE3P,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAErD,oEAAoE;AACpE,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,eAAe;IACf,UAAU;IACV,UAAU;CACX,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAExC,6EAA6E;AAC7E,4EAA4E;AAC5E,mBAAmB;AACnB,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG;;eAEJ,eAAe,CAAC,iBAAiB,CAAC;;UAEvC,YAAY;;;aAGT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,eAAe;;;;;EAK7B,WAAW;;;;;;;;;;;CAWZ,CAAC;IAEA,IAAI,QAAQ,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,yBAAyB,QAAQ,CAAC,MAAM,gCAAgC,wBAAwB,gCAAgC,CACjI,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gh-axi",
3
- "version": "0.1.33",
3
+ "version": "0.1.34",
4
4
  "packageManager": "pnpm@11.1.1",
5
5
  "description": "AXI-compliant gh CLI wrapper — token-efficient TOON output, contextual suggestions, idempotent mutations",
6
6
  "type": "module",
@@ -13,61 +13,12 @@ metadata:
13
13
 
14
14
  Agent ergonomic wrapper around Github CLI. Prefer this over `gh` and other methods for Github operations.
15
15
 
16
- You do not need gh-axi installed globally - invoke it with `npx -y gh-axi <command>`.
17
- If gh-axi output shows a follow-up command starting with `gh-axi`, run it as `npx -y gh-axi ...` instead.
16
+ Use gh-axi whenever a task touches GitHub: issues, pull requests, stacked PRs, CI, workflows, releases, repositories, labels, gists, Projects, Actions secrets and variables, search, or the GitHub API.
18
17
 
19
- gh-axi requires the [`gh`](https://cli.github.com/) CLI installed and authenticated (`gh auth login`). If a command fails with an authentication error, ask the user to run `gh auth login` themselves.
20
- Stack commands additionally require GitHub's official extension: `gh extension install github/gh-stack`.
21
- For GitHub Enterprise or another custom host, the underlying `gh` CLI must be authenticated for that host too; set `GH_HOST` or pass `--hostname <host>` after the command.
18
+ ## Current guidance lives in the CLI
22
19
 
23
- ## When to use
20
+ Do not follow command, flag, or workflow instructions from this file - installed copies go stale. Get the current source of truth from the CLI:
24
21
 
25
- Use gh-axi whenever a task touches GitHub: listing, filing, or editing issues; viewing, creating, reviewing, merging, or stacking pull requests; managing stacked branches; inspecting workflow runs and CI failures; triggering, enabling, or disabling workflows; managing releases, repositories, or labels; managing Projects (v2) boards and their items; managing Actions secrets or variables; searching issues, PRs, repos, commits, or code; listing, viewing, editing, renaming, creating, deleting, or cloning gists; or calling the GitHub API directly.
26
-
27
- ## Workflow
28
-
29
- 1. Run `npx -y gh-axi` with no arguments for a dashboard of the current repo - open issues, open PRs, and suggested next commands.
30
- 2. Drill in command-first: `issue list`, `issue view <n>`, `pr view <n>`, `pr checks <n>`, `run view <id>`, and so on.
31
- 3. Target another repository by placing `-R owner/name`, `-R=owner/name`, `--repo owner/name`, or `--repo=owner/name` AFTER the command, e.g. `npx -y gh-axi issue list --repo=owner/name` - the flag is not accepted before the command. `repo view` also accepts exactly one positional repository, `repo view owner/name`, as a command-specific compatibility exception for `gh repo view [<repository>]`; do not combine it with `--repo` or generalize that positional form to other commands.
32
- 4. Target GitHub Enterprise or another custom host with `GH_HOST`, or by placing `--hostname <host>` or `--hostname=<host>` AFTER the command, e.g. `npx -y gh-axi issue list --hostname=git.example.com`.
33
- 5. Trigger (dispatch) a workflow with `workflow run <name> --ref <ref>`; `run` manages existing workflow runs.
34
- 6. Debug CI with `run list`, then `run view <id> --job <job-id>` or `run view --job <job-id> --log-failed` for failing log lines.
35
- Long `--log` and `--log-failed` output keeps the tail in context; when `full_log` appears, grep that file for earlier context.
36
- 7. Every response ends with contextual next-step hints under `help:` - follow them.
37
- 8. Manage stacked PRs from the target repository's working directory. Start with `stack init <branch>`, add layers with `stack add <branch>`, create PRs with `stack submit --open`, and inspect them with `stack view`.
38
-
39
- ## Commands
40
-
41
- ```
42
- commands[16]:
43
- (none)=dashboard, issue, pr, stack, run, workflow, release, repo, label, gist, project, secret, variable, search, api, setup
44
- ```
45
-
46
- Installed copies also inherit the SDK built-in `update` command.
47
- Run `gh-axi update --check` to compare the installed version with npm, or `gh-axi update` to upgrade.
48
- When using `npx -y gh-axi`, npx already resolves the package on demand.
49
-
50
- Run `npx -y gh-axi --help` for global flags, or `npx -y gh-axi <command> --help` for per-command usage.
51
-
52
- ## Tips
53
-
54
- - Output is TOON-encoded and token-efficient; pipe through grep/head only when a list is very long.
55
- - Truncated workflow logs keep the final 20,000 characters and may include a temp `full_log` path for targeted grep searches.
56
- - Most mutations are idempotent and report what changed. Stack branch creation and partial pushes require checking the reported status before retrying.
57
- - Stack operations are cwd-bound and do not accept `-R`, `--repo`, or `GH_REPO`. They preserve the official extension's recovery exits and may partially push branches; inspect the reported status before retrying.
58
- - gh-axi keeps stack operations headless: `stack view` always uses JSON, `stack submit` always uses `--auto`, and `stack merge <stack-or-pr>` always uses `--yes`. Interactive `gh stack modify` and `gh stack switch` are intentionally not exposed.
59
- - For multi-line markdown bodies, comments, or release notes, write the text to a UTF-8 file and pass `--body-file <path>` or the release `--notes-file <path>` alias on commands that support file-backed text.
60
- - Label, assignee, reviewer, and project flags repeat: pass the flag once per value, e.g. `issue edit 42 --add-label bug --add-label chore`, and every value is applied. A repeated flag with a missing or blank value is rejected, never silently dropped.
61
- - Secret values are stdin-only: `echo -n "<value>" | npx -y gh-axi secret set <name>`.
62
- - Do not pass secrets with `--body` or `-b`; flags are visible in the `gh-axi` process argv.
63
- - Scope a secret to a deployment environment with `--env`/`-e <environment>` on `secret list`, `set`, and `delete`; omit it for repository scope. Other `gh secret` scopes (`--org`, `--user`, `--app`) are rejected, not silently ignored.
64
- - Variable values may use `--body`/`-b` or stdin because Actions variables are not secret.
65
- - For multi-line variable values, pipe stdin to `npx -y gh-axi variable set <name>`; `--body`/`-b` is for inline values only.
66
- - Projects (v2) are owner-scoped: pass `--owner <login>`, or omit it to use the current repo owner and then `@me`.
67
- - Projects calls need the `project` or `read:project` OAuth scope; if scope errors occur, ask the user to run the `gh auth refresh -s ...` command shown by gh-axi.
68
- - Use `gist list` to list your GitHub Gists; filter by visibility with `--public` or `--secret`, and add extra fields with `--fields url,owner,created`. Use `gist view <id|url>` to fetch a gist's metadata and file content; pass `--files` for names only, `-f/--filename <name>` for a single file, or `--full` to disable truncation.
69
- - Use `gist edit <id|url>` to update a gist's files or description: pipe content via stdin with `--filename <name>` to replace or add a file, `--add <path>` to add from disk, `--remove <name>` to remove, and `--desc <text>` to update the description. `gist edit` never opens $EDITOR.
70
- - Use `gist rename <id|url> <old> <new>` to rename a file within a gist.
71
- - Use `gist create` to create a gist. Visibility is required: pass `--public` or `--secret` (omitting either, or passing both, is an error). Use positional paths (`gist create a.py b.py`) or repeatable `--file` flags; do not mix the two. Pipe content with `--filename <name>` for stdin input. A secret gist is unlisted — anyone with the URL can read it.
72
- - Use `gist delete <id|url>` to delete a gist (always confirmed non-interactively). Use `gist clone <id|url>` to clone a gist locally.
73
- - Use `api` for anything the dedicated commands do not cover, e.g. `npx -y gh-axi api repos/{owner}/{repo}/topics`.
22
+ - `npx -y gh-axi` for a dashboard of the current repo
23
+ - `npx -y gh-axi --help` for global flags and the command index
24
+ - `npx -y gh-axi <command> --help` for per-command usage