gh-axi 0.1.28 → 0.1.29

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
@@ -95,6 +95,17 @@ gh-axi project list --owner my-org # list Projects (v2) for an owner
95
95
  echo -n "sk-..." | gh-axi secret set OPENAI_API_KEY # set a secret from stdin
96
96
  echo -n "sk-..." | gh-axi secret set CSC_LINK --env production # scope a secret to an environment
97
97
  gh-axi variable set NODE_ENV --body production # set a variable from a flag
98
+ gh-axi gist list # list your gists
99
+ gh-axi gist list --public # list only public gists
100
+ gh-axi gist view <id> # view a gist's files and content
101
+ echo 'new content' | gh-axi gist edit <id> --filename notes.md # replace a file from stdin
102
+ gh-axi gist edit <id> --remove old.txt # remove a file
103
+ gh-axi gist rename <id> old.txt new.txt # rename a file
104
+ gh-axi gist create notes.md --public --desc "My notes" # create a public gist
105
+ gh-axi gist create --file a.py --file b.py --secret # create a secret multi-file gist
106
+ echo "content" | gh-axi gist create --filename hello.txt --public # create from piped content
107
+ gh-axi gist delete <id|url> # delete a gist (always confirmed non-interactively)
108
+ gh-axi gist clone <id|url> # clone a gist locally
98
109
  gh-axi setup hooks # install optional agent session hooks
99
110
  gh-axi update --check # check whether a newer release exists
100
111
  gh-axi update # upgrade a global install
@@ -127,6 +138,11 @@ Other `gh secret` scopes (`--org`, `--user`, `--app`) are rejected with a clear
127
138
  `gh-axi project` wraps GitHub Projects (v2) and requires the `project` (or `read:project`) OAuth scope; if a call fails on a missing scope, gh-axi tells you the `gh auth refresh -s <scope>` command to run.
128
139
  `--owner` defaults to the current repo's owner, falling back to explicit `@me` for the authenticated user.
129
140
 
141
+ `gh-axi gist create` requires `--public` or `--secret` explicitly — passing neither (or both) is an error.
142
+ Gist visibility is fixed at creation; a secret gist is unlisted (anyone with the URL can read it), not private.
143
+ Two file-on-disk input forms are available: positional paths (`gist create a.py b.py`) or repeatable `--file` flags (`gist create --file a.py --file b.py`); mixing the two is an error.
144
+ To create a gist from piped content, use `--filename <name>` together with a pipe (`echo "..." | gh-axi gist create --filename foo.txt --public`).
145
+
130
146
  `gh-axi api` accepts `--field`, `--header`, `--paginate`, `--jq <expression>`, and `--template <format>`; any other flag, an extra positional argument, or a repeated `--jq`/`--template` is rejected with a clear error instead of being silently dropped.
131
147
  JSON responses are normally stripped of noisy fields before TOON encoding, but a response you shaped yourself with `--jq` or `--template` keeps every key and value verbatim — only over-long strings are still truncated so one field cannot flood an agent's context.
132
148
 
@@ -141,6 +157,7 @@ JSON responses are normally stripped of noisy fields before TOON encoding, but a
141
157
  | `release` | Releases — list, view, create, edit, delete |
142
158
  | `repo` | Repositories — list, view, create, edit, clone, fork |
143
159
  | `label` | Labels — list, create, edit, delete |
160
+ | `gist` | Gists — list, view, edit, rename, create, delete, clone |
144
161
  | `project` | Projects (v2) - list, view, create, edit, close, copy, items, fields |
145
162
  | `secret` | Actions secrets — list, set, delete |
146
163
  | `variable` | Actions variables — list, set, delete |
package/dist/src/cli.d.ts CHANGED
@@ -4,6 +4,6 @@ type MainOptions = {
4
4
  argv?: string[];
5
5
  stdout?: CliStdout;
6
6
  };
7
- export declare const TOP_HELP = "usage: gh-axi [command] [args] [flags]\ncommands[14]:\n (none)=dashboard, issue, pr, run, workflow, release, repo, label, project, secret, variable, search, api, setup\nflags[4]:\n -R/--repo <OWNER/NAME> (after command), --hostname <host> (after command) or GH_HOST env, both flags accept space or equals form, --help, -v/-V/--version\nexamples:\n gh-axi\n gh-axi issue list --state open\n gh-axi issue list -R owner/name\n gh-axi issue list --repo=owner/name\n gh-axi issue list --hostname git.example.com\n gh-axi pr view 42\n gh-axi secret list\n gh-axi setup hooks\n";
7
+ export declare const TOP_HELP = "usage: gh-axi [command] [args] [flags]\ncommands[15]:\n (none)=dashboard, issue, pr, run, workflow, release, repo, label, gist, project, secret, variable, search, api, setup\nflags[4]:\n -R/--repo <OWNER/NAME> (after command), --hostname <host> (after command) or GH_HOST env, both flags accept space or equals form, --help, -v/-V/--version\nexamples:\n gh-axi\n gh-axi issue list --state open\n gh-axi issue list -R owner/name\n gh-axi issue list --repo=owner/name\n gh-axi issue list --hostname git.example.com\n gh-axi pr view 42\n gh-axi secret list\n gh-axi setup hooks\n";
8
8
  export declare function main(options?: MainOptions): Promise<void>;
9
9
  export {};
package/dist/src/cli.js CHANGED
@@ -16,14 +16,15 @@ import { secretCommand, SECRET_HELP } from "./commands/secret.js";
16
16
  import { variableCommand, VARIABLE_HELP } from "./commands/variable.js";
17
17
  import { searchCommand, SEARCH_HELP } from "./commands/search.js";
18
18
  import { apiCommand, API_HELP } from "./commands/api.js";
19
+ import { gistCommand, GIST_HELP } from "./commands/gist.js";
19
20
  import { setupCommand, SETUP_HELP } from "./commands/setup.js";
20
21
  import { resolveHost } from "./host.js";
21
22
  import { withSuggestionHost } from "./suggestions.js";
22
23
  export const DESCRIPTION = "Agent ergonomic wrapper around Github CLI. Prefer this over `gh` and other methods for Github operations.";
23
24
  const VERSION = readPackageVersion();
24
25
  export const TOP_HELP = `usage: gh-axi [command] [args] [flags]
25
- commands[14]:
26
- (none)=dashboard, issue, pr, run, workflow, release, repo, label, project, secret, variable, search, api, setup
26
+ commands[15]:
27
+ (none)=dashboard, issue, pr, run, workflow, release, repo, label, gist, project, secret, variable, search, api, setup
27
28
  flags[4]:
28
29
  -R/--repo <OWNER/NAME> (after command), --hostname <host> (after command) or GH_HOST env, both flags accept space or equals form, --help, -v/-V/--version
29
30
  examples:
@@ -44,6 +45,7 @@ const COMMAND_HELP = {
44
45
  release: RELEASE_HELP,
45
46
  repo: REPO_HELP,
46
47
  label: LABEL_HELP,
48
+ gist: GIST_HELP,
47
49
  project: PROJECT_HELP,
48
50
  secret: SECRET_HELP,
49
51
  variable: VARIABLE_HELP,
@@ -59,6 +61,10 @@ const COMMANDS = {
59
61
  release: withRepoContext("release", releaseCommand),
60
62
  repo: withRepoContext("repo", repoCommand),
61
63
  label: withRepoContext("label", labelCommand),
64
+ // gist is user-scoped; withRepoContext still handles hostname context but
65
+ // gistCommand itself never forwards ctx to ghJson — see AGENTS.md
66
+ // "User-scoped commands" section for the owner-scoped pattern.
67
+ gist: withRepoContext("gist", gistCommand),
62
68
  project: withRepoContext("project", projectCommand),
63
69
  secret: withRepoContext("secret", secretCommand),
64
70
  variable: withRepoContext("variable", variableCommand),
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const GIST_HELP = "usage: gh-axi gist <subcommand> [flags]\nsubcommands[7]:\n list, view <id|url>, edit <id|url>, rename <id|url> <old> <new>, create, delete <id|url>, clone <id|url>\nflags{list}:\n --limit <n> (default 100), --public, --secret, --fields <field,...>\nflags{view}:\n --files (file names only), -f/--filename <name> (single file), --full (no truncation), -r/--raw (no-op), -w/--web (rejected)\nflags{edit}:\n --filename/-f <name> (replace from piped stdin), --add/-a <path> (from disk) or --add/-a <name> - (from piped stdin), --remove/-r <name>, --desc/-d <text>\nflags{create}:\n --public (required, mutually exclusive with --secret)\n --secret (required, mutually exclusive with --public)\n --file <path> (repeatable), --filename <name> (for piped content)\n -d/--desc <text>\nexamples:\n gh-axi gist list\n gh-axi gist list --public --limit 20\n gh-axi gist list --fields url,owner,created\n gh-axi gist view 5b0e0062eb8e9654adad7bb1d81cc75f\n gh-axi gist view https://gist.github.com/octocat/5b0e0062eb8e9654adad7bb1d81cc75f\n gh-axi gist view 5b0e0062eb8e9654adad7bb1d81cc75f --files\n echo 'new content' | gh-axi gist edit <id|url> --filename notes.md\n echo 'new file' | gh-axi gist edit <id|url> --add new.txt -\n gh-axi gist edit <id|url> --add ./local.txt\n gh-axi gist edit <id|url> --remove old-file.txt --desc \"updated description\"\n gh-axi gist rename <id|url> old.txt new.txt\n gh-axi gist create notes.md --public --desc \"My notes\"\n gh-axi gist create --file a.py --file b.py --secret\n echo \"content\" | gh-axi gist create --filename hello.txt --public\n gh-axi gist delete <id|url>\n gh-axi gist clone <id|url>";
2
+ export declare function gistCommand(args: string[]): Promise<string>;
@@ -0,0 +1,609 @@
1
+ import { encode } from "@toon-format/toon";
2
+ import { ghJson, ghExec, ghExecWithStdin } from "../gh.js";
3
+ import { AxiError } from "../errors.js";
4
+ import { hasFlag, takeFlag, takeBoolFlag, takeAllFlags } from "../args.js";
5
+ import { field, custom, relativeTime, pluck, renderList, renderDetail, renderHelp, renderOutput, renderError, } from "../toon.js";
6
+ import { formatCountLine } from "../format.js";
7
+ import { getSuggestions } from "../suggestions.js";
8
+ import { parseFields } from "../fields.js";
9
+ import { isStdinTTY, readStdin } from "../stdin.js";
10
+ import { gistIdFromSelector } from "../gistSelector.js";
11
+ export const GIST_HELP = `usage: gh-axi gist <subcommand> [flags]
12
+ subcommands[7]:
13
+ list, view <id|url>, edit <id|url>, rename <id|url> <old> <new>, create, delete <id|url>, clone <id|url>
14
+ flags{list}:
15
+ --limit <n> (default 100), --public, --secret, --fields <field,...>
16
+ flags{view}:
17
+ --files (file names only), -f/--filename <name> (single file), --full (no truncation), -r/--raw (no-op), -w/--web (rejected)
18
+ flags{edit}:
19
+ --filename/-f <name> (replace from piped stdin), --add/-a <path> (from disk) or --add/-a <name> - (from piped stdin), --remove/-r <name>, --desc/-d <text>
20
+ flags{create}:
21
+ --public (required, mutually exclusive with --secret)
22
+ --secret (required, mutually exclusive with --public)
23
+ --file <path> (repeatable), --filename <name> (for piped content)
24
+ -d/--desc <text>
25
+ examples:
26
+ gh-axi gist list
27
+ gh-axi gist list --public --limit 20
28
+ gh-axi gist list --fields url,owner,created
29
+ gh-axi gist view 5b0e0062eb8e9654adad7bb1d81cc75f
30
+ gh-axi gist view https://gist.github.com/octocat/5b0e0062eb8e9654adad7bb1d81cc75f
31
+ gh-axi gist view 5b0e0062eb8e9654adad7bb1d81cc75f --files
32
+ echo 'new content' | gh-axi gist edit <id|url> --filename notes.md
33
+ echo 'new file' | gh-axi gist edit <id|url> --add new.txt -
34
+ gh-axi gist edit <id|url> --add ./local.txt
35
+ gh-axi gist edit <id|url> --remove old-file.txt --desc "updated description"
36
+ gh-axi gist rename <id|url> old.txt new.txt
37
+ gh-axi gist create notes.md --public --desc "My notes"
38
+ gh-axi gist create --file a.py --file b.py --secret
39
+ echo "content" | gh-axi gist create --filename hello.txt --public
40
+ gh-axi gist delete <id|url>
41
+ gh-axi gist clone <id|url>`;
42
+ /** Maximum items per /gists page. Also the per_page ceiling for this endpoint. */
43
+ const PAGE_SIZE = 100;
44
+ /** Always-present fields in list output (AXI P2: 3–4 fields). */
45
+ const defaultSchema = [
46
+ field("id"),
47
+ field("description"),
48
+ custom("files", (item) => Object.keys(item["files"] ?? {}).length),
49
+ custom("visibility", (item) => item["public"] === true ? "public" : "secret"),
50
+ ];
51
+ /** Extra fields unlocked via --fields. */
52
+ const EXTRA_FIELDS = {
53
+ created: {
54
+ jsonKey: "created_at",
55
+ def: relativeTime("created_at", "created"),
56
+ },
57
+ updated: {
58
+ jsonKey: "updated_at",
59
+ def: relativeTime("updated_at", "updated"),
60
+ },
61
+ url: { jsonKey: "html_url", def: field("html_url", "url") },
62
+ comments: { jsonKey: "comments", def: field("comments") },
63
+ owner: { jsonKey: "owner", def: pluck("owner", "login", "owner") },
64
+ };
65
+ // ---------------------------------------------------------------------------
66
+ // Shared guards
67
+ // ---------------------------------------------------------------------------
68
+ /** A token's flag name, ignoring any `=value` suffix. */
69
+ function flagName(token) {
70
+ return token.split("=")[0];
71
+ }
72
+ /**
73
+ * Reject every leftover token that looks like a flag but is not on the allowed
74
+ * list. Callers must consume their value flags first, so anything remaining is
75
+ * either an allowed bare token or a typo that would otherwise silently degrade
76
+ * the result at exit 0 (`--ful` ignored, `--dry-run` ignored before a delete).
77
+ * Single-dash tokens count too: gh shorthands must never reach a positional slot.
78
+ *
79
+ * Matching is exact, never normalized across `=`. Allowed tokens are read back
80
+ * with hasFlag/includes, which only see the bare form — so `--full=true` must
81
+ * be rejected here rather than accepted and then silently ignored.
82
+ */
83
+ function rejectUnknownFlags(tokens, allowed) {
84
+ const unknown = tokens.filter((a) => a.startsWith("-") && !allowed.includes(a));
85
+ if (unknown.length > 0) {
86
+ throw new AxiError(`Unknown flag(s): ${unknown.join(", ")}`, "VALIDATION_ERROR");
87
+ }
88
+ }
89
+ /**
90
+ * Read piped stdin, rejecting a zero-length read the way resolveValue does.
91
+ * isStdinTTY() never fires in agent contexts, so an empty read is the only
92
+ * signal that nothing was actually piped — issuing the gh write anyway would
93
+ * replace the target file's content with nothing.
94
+ */
95
+ async function readRequiredStdin(example) {
96
+ const content = await readStdin();
97
+ if (content.length === 0) {
98
+ throw new AxiError("no content received on stdin; nothing was piped", "VALIDATION_ERROR", [example]);
99
+ }
100
+ return content;
101
+ }
102
+ // ---------------------------------------------------------------------------
103
+ // Content truncation (gist-specific: no prose cleanups)
104
+ // ---------------------------------------------------------------------------
105
+ /** Maximum characters shown per file in the default (non-full) view. */
106
+ const CONTENT_MAX_LEN = 1500;
107
+ /**
108
+ * Raw head-slice truncation for gist file content.
109
+ *
110
+ * Unlike truncateBody, this helper applies NO prose cleanups. Gist content
111
+ * is often source code or diffs where cleanup transforms (collapsing lines
112
+ * starting with `>`, stripping URLs) would corrupt the content.
113
+ * Footer is appended only when content is actually truncated (AXI P3).
114
+ */
115
+ function truncateGistContent(content, maxLen, full) {
116
+ if (full || content.length <= maxLen)
117
+ return content;
118
+ return (content.slice(0, maxLen) +
119
+ `\n... (truncated, ${content.length} chars total - use --full)`);
120
+ }
121
+ // ---------------------------------------------------------------------------
122
+ // View schemas
123
+ // ---------------------------------------------------------------------------
124
+ const gistMetaSchema = [
125
+ field("id"),
126
+ field("description"),
127
+ custom("visibility", (item) => item.public === true ? "public" : "secret"),
128
+ custom("files", (item) => Object.keys(item.files ?? {}).length),
129
+ relativeTime("created_at", "created"),
130
+ relativeTime("updated_at", "updated"),
131
+ field("comments"),
132
+ field("html_url", "url"),
133
+ pluck("owner", "login", "owner"),
134
+ ];
135
+ /**
136
+ * GET /gists/<id> caps each file's `content` at 1 MB and sets `truncated: true`
137
+ * (files over 10 MB carry no content at all). --full cannot undo that server-side
138
+ * cap, so the note is appended regardless of --full and points at raw_url.
139
+ */
140
+ function apiTruncationNote(file) {
141
+ const source = file.raw_url
142
+ ? ` - fetch the full file from ${file.raw_url}`
143
+ : "";
144
+ return `\n... (truncated by the GitHub API at 1MB${source})`;
145
+ }
146
+ function makeFileSchema(full) {
147
+ return [
148
+ field("filename"),
149
+ custom("size", (item) => `${item.size} bytes`),
150
+ custom("content", (item) => {
151
+ const raw = typeof item.content === "string" ? item.content : "";
152
+ const shown = truncateGistContent(raw, CONTENT_MAX_LEN, full);
153
+ return item.truncated === true ? shown + apiTruncationNote(item) : shown;
154
+ }),
155
+ ];
156
+ }
157
+ // ---------------------------------------------------------------------------
158
+ // View handler
159
+ // ---------------------------------------------------------------------------
160
+ // viewGist deliberately has no ctx parameter — gist is user-scoped.
161
+ async function viewGist(args) {
162
+ // Reject -w/--web up-front before consuming any other args (AXI P6).
163
+ if (args.some((a) => flagName(a) === "-w" || flagName(a) === "--web")) {
164
+ throw new AxiError("-w/--web is not supported: opening a browser is a no-op in agent contexts", "VALIDATION_ERROR");
165
+ }
166
+ const full = hasFlag(args, "--full");
167
+ const filesOnly = hasFlag(args, "--files");
168
+ // takeFlag mutates args; consume -f before --filename to avoid double-take.
169
+ const filenameShort = takeFlag(args, "-f");
170
+ const filenameLong = takeFlag(args, "--filename");
171
+ const filenameArg = filenameShort ?? filenameLong;
172
+ // Every value flag is consumed above, so any remaining flag-shaped token must
173
+ // be a boolean view flag. -r/--raw is documented as a no-op (output is always
174
+ // raw text) and is whitelisted purely to keep that contract.
175
+ rejectUnknownFlags(args.slice(1), ["--files", "--full", "-r", "--raw"]);
176
+ // The selector is the sole remaining positional (args[0] is "view"; all
177
+ // value flags were consumed above). Order-insensitive: `gist view --full <id>`
178
+ // must work as well as `gist view <id> --full`.
179
+ const positionals = args.slice(1).filter((a) => !a.startsWith("-"));
180
+ const selector = positionals[0];
181
+ if (!selector) {
182
+ throw new AxiError("gist view requires a gist id or URL", "VALIDATION_ERROR", ["Usage: gh-axi gist view <id|url>"]);
183
+ }
184
+ if (positionals.length > 1) {
185
+ throw new AxiError(`Unexpected argument: ${positionals[1]}`, "VALIDATION_ERROR");
186
+ }
187
+ // Validate + extract bare id (throws VALIDATION_ERROR on bad input/host).
188
+ const id = gistIdFromSelector(selector);
189
+ // No ctx forwarded — gist is user-scoped; gh.ts#buildArgs would append
190
+ // --repo for flag/env-sourced contexts and gh api has no --repo flag.
191
+ const data = await ghJson(["api", `/gists/${id}`]);
192
+ const fileList = Object.values(data.files ?? {});
193
+ const suggestions = getSuggestions({ domain: "gist", action: "view", id });
194
+ if (filesOnly) {
195
+ return renderOutput([
196
+ renderList("files", fileList, [field("filename")]),
197
+ renderHelp(suggestions),
198
+ ]);
199
+ }
200
+ if (filenameArg !== undefined) {
201
+ const file = (data.files ?? {})[filenameArg];
202
+ if (!file) {
203
+ const available = Object.keys(data.files ?? {}).join(", ");
204
+ throw new AxiError(`File "${filenameArg}" not found in gist ${id}. Available: ${available || "(none)"}`, "VALIDATION_ERROR");
205
+ }
206
+ return renderOutput([
207
+ renderList("files", [file], makeFileSchema(full)),
208
+ renderHelp(suggestions),
209
+ ]);
210
+ }
211
+ // Default: metadata block + all files with (possibly truncated) content.
212
+ return renderOutput([
213
+ renderDetail("gist", data, gistMetaSchema),
214
+ renderList("files", fileList, makeFileSchema(full)),
215
+ renderHelp(suggestions),
216
+ ]);
217
+ }
218
+ // listGists deliberately has no ctx parameter. gist is user-scoped and
219
+ // gh api /gists has no --repo flag; the guard is enforced structurally.
220
+ // See AGENTS.md "User-scoped commands" section.
221
+ async function listGists(args) {
222
+ const wantPublic = takeBoolFlag(args, "--public");
223
+ const wantSecret = takeBoolFlag(args, "--secret");
224
+ // Fail loudly — passing both is undefined behaviour, not a degraded result.
225
+ if (wantPublic && wantSecret) {
226
+ throw new AxiError("--public and --secret are mutually exclusive", "VALIDATION_ERROR");
227
+ }
228
+ // Let parseFields throw AxiError on unknown fields so the process exits
229
+ // non-zero — matching every sibling command family (issue.ts:226, run.ts:207).
230
+ const fieldsArg = takeFlag(args, "--fields");
231
+ const { extraDefs } = parseFields(fieldsArg, EXTRA_FIELDS);
232
+ // Validate --limit before use; parseInt("abc") = NaN and slice(0, NaN) = []
233
+ // giving a silent empty result at exit 0, which is actively wrong.
234
+ const limitArg = takeFlag(args, "--limit");
235
+ // Both value flags are consumed above, so nothing flag-shaped may remain:
236
+ // `--limitt 5` must fail loudly instead of silently returning 100 rows.
237
+ rejectUnknownFlags(args.slice(1), []);
238
+ let limit;
239
+ if (limitArg !== undefined) {
240
+ const n = parseInt(limitArg, 10);
241
+ if (isNaN(n) || n < 1) {
242
+ throw new AxiError(`--limit must be a positive integer, got: ${limitArg}`, "VALIDATION_ERROR");
243
+ }
244
+ limit = n;
245
+ }
246
+ else {
247
+ limit = PAGE_SIZE;
248
+ }
249
+ // --limit caps the *displayed* rows after filtering, not the fetch size.
250
+ // When a visibility filter is active we must fetch ALL pages regardless of
251
+ // limit — the API has no visibility filter, so we can only count matching
252
+ // gists after receiving them. Without pagination, a --secret --limit 50 on
253
+ // an account with 94 secret gists (and some public ones interspersed) would
254
+ // silently stop at the first 100 API results and under-report.
255
+ const filtering = wantPublic || wantSecret;
256
+ const paginate = limit > PAGE_SIZE || filtering;
257
+ const perPage = filtering ? PAGE_SIZE : Math.min(limit, PAGE_SIZE);
258
+ const apiArgs = ["api", `/gists?per_page=${perPage}`];
259
+ if (paginate) {
260
+ // gh merges paginated array responses into a single valid JSON array
261
+ // (verified on gh 2.86.0 — no concatenation issue for array endpoints).
262
+ apiArgs.push("--paginate");
263
+ }
264
+ // No ctx forwarded — gist is user-scoped; gh.ts#buildArgs would append
265
+ // --repo <nwo> for flag/env-sourced contexts and gh api has no --repo.
266
+ const gists = await ghJson(apiArgs);
267
+ // Client-side visibility filter (the /gists endpoint has no visibility param).
268
+ const filtered = wantPublic
269
+ ? gists.filter((g) => g["public"] === true)
270
+ : wantSecret
271
+ ? gists.filter((g) => g["public"] !== true)
272
+ : gists;
273
+ // Client-side display cap applied after filtering.
274
+ const displayed = filtered.slice(0, limit);
275
+ const isEmpty = displayed.length === 0;
276
+ const schema = [...defaultSchema, ...extraDefs];
277
+ const countLine = formatCountLine({ count: displayed.length, limit });
278
+ const suggestions = getSuggestions({
279
+ domain: "gist",
280
+ action: "list",
281
+ isEmpty,
282
+ });
283
+ return renderOutput([
284
+ countLine,
285
+ renderList("gists", displayed, schema),
286
+ renderHelp(suggestions),
287
+ ]);
288
+ }
289
+ // deleteGist has no ctx parameter — gist is user-scoped.
290
+ // gh gist delete refuses to run non-interactively without --yes;
291
+ // always pass it so this command never prompts.
292
+ async function deleteGist(args) {
293
+ // delete takes no flags. Reject them before resolving the selector so a
294
+ // misspelled guard flag (`--dry-run`) can never be silently dropped.
295
+ rejectUnknownFlags(args.slice(1), []);
296
+ const positionals = args.filter((a) => !a.startsWith("-"));
297
+ const selector = positionals[1]; // positionals[0] == "delete"
298
+ const extra = positionals[2];
299
+ if (!selector)
300
+ throw new AxiError("Gist is required: gh-axi gist delete <id|url>", "VALIDATION_ERROR");
301
+ if (extra)
302
+ throw new AxiError(`Unexpected argument: ${extra}`, "VALIDATION_ERROR");
303
+ await ghExec(["gist", "delete", selector, "--yes"]);
304
+ const suggestions = getSuggestions({ domain: "gist", action: "delete" });
305
+ return renderOutput([encode({ deleted: selector }), renderHelp(suggestions)]);
306
+ }
307
+ // cloneGist has no ctx parameter — gist is user-scoped.
308
+ // Mirrors cloneRepo exactly: take the selector, shell out, report ok.
309
+ // No target-directory or git-flags passthrough — matches repo clone restraint.
310
+ async function cloneGist(args) {
311
+ // clone takes no flags — same rejection as delete, so no git/gh shorthand
312
+ // slips through as the selector.
313
+ rejectUnknownFlags(args.slice(1), []);
314
+ const positionals = args.filter((a) => !a.startsWith("-"));
315
+ const selector = positionals[1]; // positionals[0] == "clone"
316
+ const extra = positionals[2];
317
+ if (!selector)
318
+ throw new AxiError("Gist is required: gh-axi gist clone <id|url>", "VALIDATION_ERROR");
319
+ if (extra)
320
+ throw new AxiError(`Unexpected argument: ${extra}`, "VALIDATION_ERROR");
321
+ await ghExec(["gist", "clone", selector]);
322
+ const suggestions = getSuggestions({ domain: "gist", action: "clone" });
323
+ return renderOutput([
324
+ encode({ clone: "ok", gist: selector }),
325
+ renderHelp(suggestions),
326
+ ]);
327
+ }
328
+ // createGist deliberately has no ctx parameter. gist is user-scoped and
329
+ // gh gist create has no --repo flag; the guard is enforced structurally.
330
+ // See AGENTS.md "User-scoped commands" section.
331
+ async function createGist(args) {
332
+ // Visibility: required and mutually exclusive — check before any other work.
333
+ const wantPublic = takeBoolFlag(args, "--public");
334
+ const wantSecret = takeBoolFlag(args, "--secret");
335
+ if (wantPublic && wantSecret) {
336
+ throw new AxiError("--public and --secret are mutually exclusive", "VALIDATION_ERROR");
337
+ }
338
+ if (!wantPublic && !wantSecret) {
339
+ throw new AxiError("gist create requires --public or --secret; neither was given\n" +
340
+ "A secret gist is unlisted (anyone with the URL can read it), not private.", "VALIDATION_ERROR");
341
+ }
342
+ // Description: -d and --desc are aliases; take both.
343
+ const descShort = takeFlag(args, "-d");
344
+ const descLong = takeFlag(args, "--desc");
345
+ const desc = descShort ?? descLong;
346
+ // Input form flags. takeAllFlags throws VALIDATION_ERROR on dangling / blank.
347
+ const filename = takeFlag(args, "--filename");
348
+ const fileFlags = takeAllFlags(args, "--file");
349
+ // After consuming all known flags, args[0] === "create" (subcommand name).
350
+ // Anything at index 1+ is either a positional file path or an unknown flag.
351
+ // Use startsWith("-") — not "--" — so single-dash gh shorthands (e.g. -p for
352
+ // --public, -w for --web, -f for --filename) are rejected rather than
353
+ // forwarded as file paths. -p is especially dangerous: it reaches gh as the
354
+ // --public flag, creating a public gist while the wrapper reports secret.
355
+ const remaining = args.slice(1);
356
+ rejectUnknownFlags(remaining, []);
357
+ const positionals = remaining.filter((a) => !a.startsWith("-"));
358
+ // Mixing the two file-on-disk input forms is a hard error.
359
+ if (positionals.length > 0 && fileFlags.length > 0) {
360
+ throw new AxiError("Cannot mix positional paths with --file; use one form: " +
361
+ "either `gist create a.py b.py` or `gist create --file a.py --file b.py`", "VALIDATION_ERROR");
362
+ }
363
+ // Mixing file-on-disk with stdin/--filename is also a hard error.
364
+ const hasFileArgs = positionals.length > 0 || fileFlags.length > 0;
365
+ if (hasFileArgs && filename !== undefined) {
366
+ throw new AxiError("Cannot mix file paths with --filename; use one input form", "VALIDATION_ERROR");
367
+ }
368
+ // At least one input source must be provided.
369
+ if (!hasFileArgs && filename === undefined) {
370
+ throw new AxiError("gist create requires at least one file: pass positional path(s), " +
371
+ "--file <path>, or pipe content with --filename <name>", "VALIDATION_ERROR");
372
+ }
373
+ const visibility = wantPublic ? "public" : "secret";
374
+ // Build the base gh argv. Only --public changes default visibility (gh
375
+ // defaults to secret, so we never pass --secret to gh).
376
+ const ghArgs = ["gist", "create"];
377
+ if (wantPublic)
378
+ ghArgs.push("--public");
379
+ if (desc)
380
+ ghArgs.push("-d", desc);
381
+ let stdout;
382
+ if (filename !== undefined) {
383
+ // Stdin form: pipe content to gh with --filename.
384
+ // Any condition that would make gh prompt or open $EDITOR must be caught
385
+ // before invoking gh — an agent cannot answer a prompt.
386
+ if (isStdinTTY()) {
387
+ throw new AxiError("--filename requires piped content on stdin; no pipe was detected", "VALIDATION_ERROR", [`echo 'content' | gh-axi gist create --filename <name> --public`]);
388
+ }
389
+ const content = await readRequiredStdin(`echo 'content' | gh-axi gist create --filename <name> --public`);
390
+ ghArgs.push("--filename", filename);
391
+ // No ctx — gist is user-scoped; buildArgs must not append --repo.
392
+ stdout = await ghExecWithStdin(ghArgs, content);
393
+ }
394
+ else {
395
+ // File form: positionals take precedence; fileFlags are translated to positionals.
396
+ const paths = positionals.length > 0 ? positionals : fileFlags;
397
+ ghArgs.push(...paths);
398
+ // No ctx — gist is user-scoped; buildArgs must not append --repo.
399
+ stdout = await ghExec(ghArgs);
400
+ }
401
+ // gh gist create prints only the HTML URL to stdout (status messages go to
402
+ // stderr). Parse the id from the URL's last path segment, matching the
403
+ // pattern used by pr create's URL → number extraction.
404
+ const url = stdout.trim().split("\n").pop()?.trim() ?? "";
405
+ const id = url.split("/").pop() ?? "";
406
+ const navSuggestions = getSuggestions({
407
+ domain: "gist",
408
+ action: "create",
409
+ id,
410
+ });
411
+ const helpLines = [];
412
+ // Secret gists are unlisted, not private. Surface this before navigation hints
413
+ // so the agent sees the warning even if it stops reading after the first line.
414
+ if (visibility === "secret") {
415
+ helpLines.push("a secret gist is unlisted, not private — anyone with the URL can read it");
416
+ }
417
+ helpLines.push(...navSuggestions);
418
+ return renderOutput([
419
+ renderDetail("created", { id, url, visibility }, [
420
+ field("id"),
421
+ field("url"),
422
+ field("visibility"),
423
+ ]),
424
+ renderHelp(helpLines),
425
+ ]);
426
+ }
427
+ // editGist has no ctx parameter — see gistCommand note below.
428
+ async function editGist(args) {
429
+ // Consume every value flag first (takeFlag mutates), so the selector can be
430
+ // located order-insensitively among whatever positionals remain. args[0] is
431
+ // "edit". `??` short-circuits: a present long flag skips the short alias.
432
+ const rest = args.slice(1);
433
+ const filenameFlag = takeFlag(rest, "--filename") ?? takeFlag(rest, "-f");
434
+ const addFlag = takeFlag(rest, "--add") ?? takeFlag(rest, "-a");
435
+ const removeFlag = takeFlag(rest, "--remove") ?? takeFlag(rest, "-r");
436
+ const descFlag = takeFlag(rest, "--desc") ?? takeFlag(rest, "-d");
437
+ // Every value flag is consumed above. Anything flag-shaped that survives is a
438
+ // typo which the positional filter below would otherwise drop silently —
439
+ // `--remove old.txt --dry-run` must not quietly remove the file. The lone "-"
440
+ // stdin sentinel is a positional, and each alias stays allowed so a duplicate
441
+ // pair (`--remove x -r y`) still falls through to the surplus-positional error.
442
+ rejectUnknownFlags(rest, [
443
+ "-",
444
+ "--filename",
445
+ "-f",
446
+ "--add",
447
+ "-a",
448
+ "--remove",
449
+ "-r",
450
+ "--desc",
451
+ "-d",
452
+ ]);
453
+ // A lone "-" is the explicit "read content from stdin" sentinel (gh's own
454
+ // convention). It is the ONLY stdin signal — never inferred from TTY-ness,
455
+ // because this tool always runs with a non-TTY stdin in agent contexts, so
456
+ // `!isStdinTTY()` would misclassify every invocation as "content piped".
457
+ const wantsStdin = rest.includes("-");
458
+ // The selector is the sole remaining positional (anything that is neither a
459
+ // flag nor the "-" sentinel). Order-insensitive, unlike the old args[1].
460
+ const positionals = rest.filter((a) => !a.startsWith("-"));
461
+ const id = positionals[0];
462
+ if (!id) {
463
+ throw new AxiError("Gist ID or URL is required: gh-axi gist edit <id|url> [flags]", "VALIDATION_ERROR");
464
+ }
465
+ if (positionals.length > 1) {
466
+ throw new AxiError(`Unexpected argument: ${positionals[1]}`, "VALIDATION_ERROR");
467
+ }
468
+ // Reject mutually exclusive file operations in a single call.
469
+ const fileOpCount = [filenameFlag, addFlag, removeFlag].filter((v) => v !== undefined).length;
470
+ if (fileOpCount > 1) {
471
+ throw new AxiError("--filename, --add, and --remove are mutually exclusive; pass only one per invocation", "VALIDATION_ERROR");
472
+ }
473
+ // Guard: nothing to edit — gh with no flags would open $EDITOR.
474
+ if (filenameFlag === undefined &&
475
+ addFlag === undefined &&
476
+ removeFlag === undefined &&
477
+ descFlag === undefined) {
478
+ throw new AxiError("nothing to edit; pass --filename <name> with piped content, --add <path|name>, --remove <name>, or --desc <text>", "VALIDATION_ERROR");
479
+ }
480
+ // Guard: the stdin sentinel needs a file selector, else gh prompts which
481
+ // file to write ("unsure what file to edit").
482
+ if (wantsStdin && filenameFlag === undefined && addFlag === undefined) {
483
+ throw new AxiError("stdin content (-) requires --filename <name> or --add <name> to identify the target file", "VALIDATION_ERROR", [
484
+ "Replace a file: echo 'content' | gh-axi gist edit <id|url> --filename <name>",
485
+ "Add a new file: echo 'content' | gh-axi gist edit <id|url> --add <name> -",
486
+ ]);
487
+ }
488
+ if (filenameFlag !== undefined) {
489
+ // Replace (or create) a file from piped stdin. --filename's content always
490
+ // comes from stdin, so fail fast on a TTY (we must never block reading it).
491
+ if (isStdinTTY()) {
492
+ throw new AxiError("--filename requires content piped via stdin", "VALIDATION_ERROR", [
493
+ "Example: echo 'content' | gh-axi gist edit <id|url> --filename <name>",
494
+ ]);
495
+ }
496
+ // The `-` positional tells gh to read content from stdin; `--filename`
497
+ // names the target file in the gist. Without `-`, gh ignores piped bytes
498
+ // and opens $EDITOR instead — verified against a live gist.
499
+ const ghArgs = ["gist", "edit", id, "-", "--filename", filenameFlag];
500
+ if (descFlag !== undefined)
501
+ ghArgs.push("--desc", descFlag);
502
+ const content = await readRequiredStdin("Example: echo 'content' | gh-axi gist edit <id|url> --filename <name>");
503
+ await ghExecWithStdin(ghArgs, content);
504
+ }
505
+ else if (addFlag !== undefined && wantsStdin) {
506
+ // Add a brand-new file from piped stdin, signalled by the explicit `-`.
507
+ // `--add <name>` names the new file; the trailing `-` is the content
508
+ // source (stdin), matching `gh gist edit <id> --add <name> -`.
509
+ if (isStdinTTY()) {
510
+ throw new AxiError("--add with the stdin sentinel (-) requires content piped via stdin", "VALIDATION_ERROR", ["Example: echo 'content' | gh-axi gist edit <id|url> --add <name> -"]);
511
+ }
512
+ const ghArgs = ["gist", "edit", id, "--add", addFlag, "-"];
513
+ if (descFlag !== undefined)
514
+ ghArgs.push("--desc", descFlag);
515
+ const content = await readRequiredStdin("Example: echo 'content' | gh-axi gist edit <id|url> --add <name> -");
516
+ await ghExecWithStdin(ghArgs, content);
517
+ }
518
+ else if (descFlag !== undefined &&
519
+ addFlag === undefined &&
520
+ removeFlag === undefined) {
521
+ // Description-only update.
522
+ // `gh gist edit <id> --desc <text>` with no file selector still enters
523
+ // the content-edit loop: on a multi-file gist it errors "unsure what file
524
+ // to edit"; on a single-file gist it relies on $EDITOR being a no-op
525
+ // (fragile in CI). Route through the REST API instead — metadata writes
526
+ // have no binary-content concern so the API path is safe here.
527
+ const gistId = gistIdFromSelector(id);
528
+ await ghExec([
529
+ "api",
530
+ "-X",
531
+ "PATCH",
532
+ `/gists/${gistId}`,
533
+ "-f",
534
+ `description=${descFlag}`,
535
+ ]);
536
+ }
537
+ else {
538
+ // Add from disk (`--add <path>`, no `-`), remove, or those combined with
539
+ // --desc. Each provides an explicit file selector so gh never prompts, and
540
+ // none reads stdin.
541
+ const ghArgs = ["gist", "edit", id];
542
+ if (addFlag !== undefined)
543
+ ghArgs.push("--add", addFlag);
544
+ if (removeFlag !== undefined)
545
+ ghArgs.push("--remove", removeFlag);
546
+ if (descFlag !== undefined)
547
+ ghArgs.push("--desc", descFlag);
548
+ await ghExec(ghArgs);
549
+ }
550
+ const suggestions = getSuggestions({ domain: "gist", action: "edit", id });
551
+ return renderOutput([
552
+ encode({ edited: "ok", gist: id }),
553
+ renderHelp(suggestions),
554
+ ]);
555
+ }
556
+ // renameGist has no ctx parameter — see gistCommand note below.
557
+ async function renameGist(args) {
558
+ // args[0] = "rename", args[1..] = positionals and (no) flags
559
+ const allAfterSub = args.slice(1);
560
+ // Reject any flags — rename has none.
561
+ const unknownFlags = allAfterSub.filter((a) => a.startsWith("-"));
562
+ if (unknownFlags.length > 0) {
563
+ throw new AxiError(`gist rename takes no flags; unexpected: ${unknownFlags.join(", ")}`, "VALIDATION_ERROR");
564
+ }
565
+ const positionals = allAfterSub;
566
+ if (positionals.length < 3) {
567
+ throw new AxiError("usage: gh-axi gist rename <id|url> <old> <new>", "VALIDATION_ERROR");
568
+ }
569
+ if (positionals.length > 3) {
570
+ throw new AxiError(`too many arguments; expected: gh-axi gist rename <id|url> <old> <new>`, "VALIDATION_ERROR");
571
+ }
572
+ const [id, oldName, newName] = positionals;
573
+ await ghExec(["gist", "rename", id, oldName, newName]);
574
+ const suggestions = getSuggestions({ domain: "gist", action: "rename", id });
575
+ return renderOutput([
576
+ encode({ renamed: "ok", gist: id, from: oldName, to: newName }),
577
+ renderHelp(suggestions),
578
+ ]);
579
+ }
580
+ // gistCommand has no ctx parameter — gist is user-scoped and ctx must never
581
+ // reach ghJson. TypeScript accepts (args: string[]) as CommandFn because
582
+ // fewer parameters are always assignable to a type with more optional params.
583
+ // See AGENTS.md "User-scoped commands" section.
584
+ export async function gistCommand(args) {
585
+ const sub = args[0];
586
+ if (sub === "--help" || sub === undefined)
587
+ return GIST_HELP;
588
+ switch (sub) {
589
+ case "list":
590
+ return listGists(args);
591
+ case "view":
592
+ return viewGist(args);
593
+ case "edit":
594
+ return editGist(args);
595
+ case "rename":
596
+ return renameGist(args);
597
+ case "create":
598
+ return createGist(args);
599
+ case "delete":
600
+ return deleteGist(args);
601
+ case "clone":
602
+ return cloneGist(args);
603
+ default:
604
+ return renderError(`Unknown subcommand: ${sub}`, "VALIDATION_ERROR", [
605
+ "Available subcommands: list, view, edit, rename, create, delete, clone",
606
+ ]);
607
+ }
608
+ }
609
+ //# sourceMappingURL=gist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gist.js","sourceRoot":"","sources":["../../../src/commands/gist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Convert a bare gist id or a gist URL to a bare id.
3
+ *
4
+ * Accepts three URL shapes:
5
+ * gist.github.com/OWNER/ID (owner-scoped)
6
+ * gist.github.com/ID (ownerless)
7
+ * ghe.example.com/gist/OWNER/ID (GHE — last segment is always the id)
8
+ *
9
+ * Takes the **last non-empty path segment** across all shapes. gh's own
10
+ * GistIDFromURL takes path segment index 2, which returns OWNER for the GHE
11
+ * shape — that is wrong. Last-segment handles all three correctly.
12
+ *
13
+ * The URL's host is validated against the configured host (GH_HOST > github.com).
14
+ * Both `<host>` and `gist.<host>` are accepted as valid origins.
15
+ */
16
+ export declare function gistIdFromSelector(selector: string): string;
@@ -0,0 +1,68 @@
1
+ import { AxiError } from "./errors.js";
2
+ import { resolveHost } from "./host.js";
3
+ /**
4
+ * Convert a bare gist id or a gist URL to a bare id.
5
+ *
6
+ * Accepts three URL shapes:
7
+ * gist.github.com/OWNER/ID (owner-scoped)
8
+ * gist.github.com/ID (ownerless)
9
+ * ghe.example.com/gist/OWNER/ID (GHE — last segment is always the id)
10
+ *
11
+ * Takes the **last non-empty path segment** across all shapes. gh's own
12
+ * GistIDFromURL takes path segment index 2, which returns OWNER for the GHE
13
+ * shape — that is wrong. Last-segment handles all three correctly.
14
+ *
15
+ * The URL's host is validated against the configured host (GH_HOST > github.com).
16
+ * Both `<host>` and `gist.<host>` are accepted as valid origins.
17
+ */
18
+ export function gistIdFromSelector(selector) {
19
+ const trimmed = selector.trim();
20
+ if (!trimmed) {
21
+ throw new AxiError("Gist selector must not be empty", "VALIDATION_ERROR");
22
+ }
23
+ if (/\s/.test(trimmed)) {
24
+ throw new AxiError(`Gist selector must not contain whitespace: "${selector.trim()}"`, "VALIDATION_ERROR");
25
+ }
26
+ if (trimmed.startsWith("https://") || trimmed.startsWith("http://")) {
27
+ return extractIdFromUrl(trimmed);
28
+ }
29
+ // Bare id — validate its charset before it is interpolated into the
30
+ // `/gists/<id>` API path, so a malformed selector can never traverse the path.
31
+ return validateBareId(trimmed);
32
+ }
33
+ // A gist id is alphanumeric. Reject anything else (slashes, dot-segments, etc.)
34
+ // that could alter the API path it gets interpolated into.
35
+ function validateBareId(id) {
36
+ if (!/^[A-Za-z0-9]+$/.test(id)) {
37
+ throw new AxiError(`Invalid gist id: "${id}"`, "VALIDATION_ERROR", [
38
+ "A gist id is alphanumeric; pass a bare id or a full gist URL",
39
+ ]);
40
+ }
41
+ return id;
42
+ }
43
+ function extractIdFromUrl(rawUrl) {
44
+ let url;
45
+ try {
46
+ url = new URL(rawUrl);
47
+ }
48
+ catch {
49
+ throw new AxiError(`Malformed gist URL: ${rawUrl}`, "VALIDATION_ERROR");
50
+ }
51
+ const hostname = url.hostname;
52
+ // Accept <configured> or gist.<configured>.
53
+ const configured = resolveHost();
54
+ const validHosts = new Set([configured, `gist.${configured}`]);
55
+ if (!validHosts.has(hostname)) {
56
+ throw new AxiError(`Gist URL host "${hostname}" does not match the configured host "${configured}"`, "VALIDATION_ERROR");
57
+ }
58
+ // Take the last non-empty path segment — correct for all URL shapes.
59
+ const segments = url.pathname.split("/").filter(Boolean);
60
+ const id = segments[segments.length - 1];
61
+ if (!id) {
62
+ throw new AxiError(`Could not extract a gist id from URL: ${rawUrl}`, "VALIDATION_ERROR");
63
+ }
64
+ // The extracted segment also lands in the `/gists/<id>` API path, so hold it
65
+ // to the same charset as a bare id (blocks `..`, encoded slashes, etc.).
66
+ return validateBareId(id);
67
+ }
68
+ //# sourceMappingURL=gistSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gistSelector.js","sourceRoot":"","sources":["../../src/gistSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAAC,iCAAiC,EAAE,kBAAkB,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,QAAQ,CAChB,+CAA+C,QAAQ,CAAC,IAAI,EAAE,GAAG,EACjE,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACpE,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,oEAAoE;IACpE,+EAA+E;IAC/E,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,gFAAgF;AAChF,2DAA2D;AAC3D,SAAS,cAAc,CAAC,EAAU;IAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,kBAAkB,EAAE;YACjE,8DAA8D;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,uBAAuB,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,4CAA4C;IAC5C,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAChB,kBAAkB,QAAQ,yCAAyC,UAAU,GAAG,EAChF,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,QAAQ,CAChB,yCAAyC,MAAM,EAAE,EACjD,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,yEAAyE;IACzE,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC"}
package/dist/src/skill.js CHANGED
@@ -2,9 +2,9 @@ import { DESCRIPTION, TOP_HELP } 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, workflow runs, workflows, " +
5
- "releases, repositories, labels, Projects (v2), Actions secrets and variables, search, and raw API access. " +
5
+ "releases, repositories, labels, gists, Projects (v2), Actions secrets and variables, search, and raw API access. " +
6
6
  "Use whenever a task touches GitHub: listing or filing issues, reviewing or merging PRs, " +
7
- "checking CI runs, triggering workflows, cutting releases, managing Projects boards, or managing Actions secrets/variables.";
7
+ "checking CI runs, triggering workflows, cutting releases, managing Projects boards, managing Actions secrets/variables, or working with gists via `gist list`, `gist view`, `gist edit`, `gist rename`, `gist create`, `gist delete`, or `gist clone`.";
8
8
  export const SKILL_AUTHOR = "Kun Chen (kunchenguid)";
9
9
  // Extended frontmatter read by Nous Research's Hermes Agent harness
10
10
  // (https://hermes-agent.nousresearch.com/docs/user-guide/features/skills).
@@ -64,7 +64,7 @@ For GitHub Enterprise or another custom host, the underlying \`gh\` CLI must be
64
64
 
65
65
  ## When to use
66
66
 
67
- Use gh-axi whenever a task touches GitHub: listing, filing, or editing issues; viewing, creating, reviewing, or merging pull requests; 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; or calling the GitHub API directly.
67
+ Use gh-axi whenever a task touches GitHub: listing, filing, or editing issues; viewing, creating, reviewing, or merging pull requests; 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.
68
68
 
69
69
  ## Workflow
70
70
 
@@ -103,6 +103,11 @@ Run \`npx -y gh-axi --help\` for global flags, or \`npx -y gh-axi <command> --he
103
103
  - For multi-line variable values, pipe stdin to \`npx -y gh-axi variable set <name>\`; \`--body\`/\`-b\` is for inline values only.
104
104
  - Projects (v2) are owner-scoped: pass \`--owner <login>\`, or omit it to use the current repo owner and then \`@me\`.
105
105
  - 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.
106
+ - 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.
107
+ - 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.
108
+ - Use \`gist rename <id|url> <old> <new>\` to rename a file within a gist.
109
+ - 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.
110
+ - Use \`gist delete <id|url>\` to delete a gist (always confirmed non-interactively). Use \`gist clone <id|url>\` to clone a gist locally.
106
111
  - Use \`api\` for anything the dedicated commands do not cover, e.g. \`npx -y gh-axi api repos/{owner}/{repo}/topics\`.
107
112
  `;
108
113
  }
@@ -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,2FAA2F;IAC3F,4GAA4G;IAC5G,0FAA0F;IAC1F,4HAA4H,CAAC;AAE/H,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;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BX,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBvB,CAAC;AACF,CAAC"}
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,2FAA2F;IAC3F,mHAAmH;IACnH,0FAA0F;IAC1F,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;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BX,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BvB,CAAC;AACF,CAAC"}
@@ -556,6 +556,57 @@ const table = [
556
556
  `Run \`gh-axi variable list${repoFlag(c)}\` to see remaining variables`,
557
557
  ],
558
558
  },
559
+ // Gist list
560
+ {
561
+ match: (c) => c.domain === "gist" && c.action === "list" && !c.isEmpty,
562
+ lines: () => [
563
+ "Run `gh-axi gist view <id>` to view a gist's files and metadata",
564
+ "Run `gh-axi gist list --fields url,owner,created` to add extra fields",
565
+ ],
566
+ },
567
+ {
568
+ match: (c) => c.domain === "gist" && c.action === "list" && c.isEmpty === true,
569
+ lines: () => ["Run `gh-axi api /gists` to see gist data via the raw API"],
570
+ },
571
+ // Gist view
572
+ {
573
+ match: (c) => c.domain === "gist" && c.action === "view",
574
+ lines: (c) => [
575
+ `Run \`gh-axi gist view ${String(c.id)} --files\` to list file names only`,
576
+ `Run \`gh-axi gist list\` to see all your gists`,
577
+ ],
578
+ },
579
+ // Gist edit
580
+ {
581
+ match: (c) => c.domain === "gist" && c.action === "edit",
582
+ lines: (c) => [
583
+ `Run \`gh-axi gist list\` to see all gists`,
584
+ `Run \`gh-axi gist rename ${c.id} <old> <new>\` to rename a file`,
585
+ ],
586
+ },
587
+ // Gist rename
588
+ {
589
+ match: (c) => c.domain === "gist" && c.action === "rename",
590
+ lines: (c) => [
591
+ `Run \`gh-axi gist list\` to see all gists`,
592
+ `Run \`gh-axi gist edit ${c.id} --filename <name>\` to edit file content`,
593
+ ],
594
+ },
595
+ // Gist create
596
+ {
597
+ match: (c) => c.domain === "gist" && c.action === "create",
598
+ lines: () => ["Run `gh-axi gist list` to see all your gists"],
599
+ },
600
+ // Gist delete
601
+ {
602
+ match: (c) => c.domain === "gist" && c.action === "delete",
603
+ lines: () => ["Run `gh-axi gist list` to see remaining gists"],
604
+ },
605
+ // Gist clone
606
+ {
607
+ match: (c) => c.domain === "gist" && c.action === "clone",
608
+ lines: () => ["Run `gh-axi gist list` to see your gists"],
609
+ },
559
610
  // Search
560
611
  {
561
612
  match: (c) => c.domain === "search",
@@ -1 +1 @@
1
- {"version":3,"file":"suggestions.js","sourceRoot":"","sources":["../../src/suggestions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suggestions.js","sourceRoot":"","sources":["../../src/suggestions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gh-axi",
3
- "version": "0.1.28",
3
+ "version": "0.1.29",
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",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: gh-axi
3
- description: "Operate GitHub through the gh-axi CLI - issues, pull requests, workflow runs, workflows, releases, repositories, labels, Projects (v2), Actions secrets and variables, search, and raw API access. Use whenever a task touches GitHub: listing or filing issues, reviewing or merging PRs, checking CI runs, triggering workflows, cutting releases, managing Projects boards, or managing Actions secrets/variables."
3
+ description: "Operate GitHub through the gh-axi CLI - issues, pull requests, workflow runs, workflows, releases, repositories, labels, gists, Projects (v2), Actions secrets and variables, search, and raw API access. Use whenever a task touches GitHub: listing or filing issues, reviewing or merging PRs, checking CI runs, triggering workflows, cutting releases, managing Projects boards, managing Actions secrets/variables, or working with gists via `gist list`, `gist view`, `gist edit`, `gist rename`, `gist create`, `gist delete`, or `gist clone`."
4
4
  user-invocable: false
5
5
  author: Kun Chen (kunchenguid)
6
6
  metadata:
@@ -21,7 +21,7 @@ For GitHub Enterprise or another custom host, the underlying `gh` CLI must be au
21
21
 
22
22
  ## When to use
23
23
 
24
- Use gh-axi whenever a task touches GitHub: listing, filing, or editing issues; viewing, creating, reviewing, or merging pull requests; 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; or calling the GitHub API directly.
24
+ Use gh-axi whenever a task touches GitHub: listing, filing, or editing issues; viewing, creating, reviewing, or merging pull requests; 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.
25
25
 
26
26
  ## Workflow
27
27
 
@@ -37,8 +37,8 @@ Use gh-axi whenever a task touches GitHub: listing, filing, or editing issues; v
37
37
  ## Commands
38
38
 
39
39
  ```
40
- commands[14]:
41
- (none)=dashboard, issue, pr, run, workflow, release, repo, label, project, secret, variable, search, api, setup
40
+ commands[15]:
41
+ (none)=dashboard, issue, pr, run, workflow, release, repo, label, gist, project, secret, variable, search, api, setup
42
42
  ```
43
43
 
44
44
  Installed copies also inherit the SDK built-in `update` command.
@@ -61,4 +61,9 @@ Run `npx -y gh-axi --help` for global flags, or `npx -y gh-axi <command> --help`
61
61
  - For multi-line variable values, pipe stdin to `npx -y gh-axi variable set <name>`; `--body`/`-b` is for inline values only.
62
62
  - Projects (v2) are owner-scoped: pass `--owner <login>`, or omit it to use the current repo owner and then `@me`.
63
63
  - 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.
64
+ - 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.
65
+ - 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.
66
+ - Use `gist rename <id|url> <old> <new>` to rename a file within a gist.
67
+ - 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.
68
+ - Use `gist delete <id|url>` to delete a gist (always confirmed non-interactively). Use `gist clone <id|url>` to clone a gist locally.
64
69
  - Use `api` for anything the dedicated commands do not cover, e.g. `npx -y gh-axi api repos/{owner}/{repo}/topics`.