Repository navigation
Close AXI gaps: home view, --version, minimal fields, truncation, session hooks, fail-loud flags (v0.2.0) - #8
Merged
Merged
Conversation
- bench/generate-api-fixtures.mjs: SYNTHETIC HEY API responses generated from basecamp/hey-sdk openapi.json (go/v0.31.1, the SDK behind hey 1.7.0) - bench/capture.mjs: runs the real hey binary against a local read-only mock API (or, with --real, read-only commands against your own account; output gitignored) and records --json and --styled output - bench/tokens.mjs (npm run bench:tokens): counts tokens with js-tiktoken o200k_base and cl100k_base for hey --json, hey --styled, hey-axi TOON and hey-axi --json; --write refreshes docs/benchmarks.md - docs/benchmarks.md: results, methodology, limitations, rerun guide - test/bench.test.js: allowlist, mock is GET-only, bench runs, docs in sync
- skills/hey-axi/SKILL.md (Agent Skills spec; discovered by npx skills / gh skill) - skills/hey-axi/references/commands.md generated from the manifest + policy (scripts/gen-skill-reference.js, npm run skill:reference) - test/skill.test.js: spec rules, example commands resolve, reference is current - README 'Agent skill' section; AGENTS.md code map - package.json listing metadata (keywords, repository, homepage, bugs, author, files) - docs/listing.md: axi.md / skills.sh / other directory steps + draft catalog entry (no LICENSE added: owner decision)
…gaps # Conflicts: # package.json
…ation, session hooks, fail-loud flags (v0.2.0) - no-args home view (bin, description, 10 newest Imbox threads, next commands; status+fix when hey is missing/signed out) - -v/-V/--version fast path via axi-sdk-js/fast-path + leaf src/version.js; `hey-axi version` shows both versions - src/shape.js: default list fields per command, --fields a,b|dotted|all, truncation (1000 detail / 120 cells) with sizes and --full hint, empty/count lines, breadcrumbs -> help in hey-axi terms - --full returns HEY's untouched envelope - unknown flags and missing (required) flags rejected before HEY runs (exit 2, valid flags listed) - per-command --help: usage, flag descriptions/defaults, examples, notes (manifest now includes hey <cmd> --help data) - hey-axi setup hooks [--project|--status|--remove]: Claude Code, Codex, OpenCode session-start hooks via axi-sdk-js - errors get a help next step per exit code; hints name hey-axi - SKILL.md home block generated from src/guide.js; skill:gen / skill:check (CI) - benchmark: default 30,229 -> 4,471 o200k tokens (-85%; -88.6% vs hey --json)
This was referenced Oct 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the AXI gaps listed in docs/listing.md and bumps hey-axi to 0.2.0. Not merged. The repo stays private. Nothing was submitted externally, and there's no license, npm publish or topics.
What changed, per gap
hey-axiwith no args printsbin,description, the Imbox summary, the 10 newest threads (id,topic_id,from,subject,seen,at) andhelplines with next commands. A missinghey/ signed-out / failing HEY printsstatus:plus the fix, and still exits 0 so a session hook stays useful (src/home.js).--version-v,-V,--versionprint the bare version throughaxi-sdk-js/fast-pathand a leafsrc/version.js, before the CLI graph loads. A test keeps this near the barenodestartup time.hey-axi versionprintshey_axi,heyandhey_commit.src/shape.jsLIST_FIELDSdefines 3–6 default columns for about 35 list commands. They're based on HEY's own--styledtable columns and the hey-sdk schema, with fallbacks (from=creator.name|sender.name). Lists without a declared schema use a heuristic.--fields id,subject,creator.email_addresstakes aliases or dotted paths,--fields allkeeps everything, and an unknown field exits 2 listing what's available. The defaults show in each command's--help.… (truncated, N chars total), and aRun \… --full`help line appears only when something was cut.thread readkeeps the sender, email, to/cc, date and body, and drops URLs, avatars and the duplicated summary. **--full` returns HEY's envelope untouched.**count: N of T totalwhen HEY reportsmeta.total_count.empty: 0 results for `hey-axi …`; the home view says the Imbox is empty.(required)flags are rejected before HEY runs (exit 2), listing the command's valid flags, the global ones and the usage line.--helpand globals always pass. Errors get ahelpnext step per exit code when HEY gives no hint, and HEY's hints, breadcrumbs and notes are rewritten fromhey …tohey-axi ….hey-axi setup hooks [--project] [--status | --remove]installs a SessionStart hook for Claude Code and Codex (it also sets[features].hooks = truein~/.codex/config.toml, as the SDK does) and a managed plugin for OpenCode, all through axi-sdk-js. It's explicit opt-in only, idempotent ("already up to date"), repairs the path when hey-axi moves, and--removetouches only hey-axi's entries. Othersetup …subcommands still go to HEY.help: Run \hey-axi …` to …`.--helpnow shows usage, flag descriptions and defaults, 3 examples and HEY's agent notes, all offline.refresh-manifestnow also parseshey <cmd> --help(still no login and no network); the manifest grows from 37 KB to 104 KB.src/guide.js, the same text the home view prints.npm run skill:genregenerates it, andnpm run skill:checkruns in CI. SKILL.md, references (now with default fields), README (hook vs skill: you only need one), AGENTS.md and the docs/listing.md gap table are all updated.New runtime dependency:
axi-sdk-js@^0.1.12(MIT, by the AXI author). It's used only forfast-pathand the hook installer, and it pulls in@toon-format/toon@2alongside our v4.Benchmark (synthetic captures, o200k_base; full tables in docs/benchmarks.md)
--jsonhey --json(39,256)hey --styled(4,122)box view imbox15,591 → 1,059;search5,024 → 701;event week4,629 → 706;thread read2,409 → 1,183 (the bodies are 1,500 chars, so the truncation is mild).helpline.--fullreproduces the old default (30,257, which is 30,229 plus the error help line).Tests
test/axi.test.jsand the updated routing tests (they pass required flags, and--limitonly where it exists).npm run skill:checkpasses.agentskills validateand is found bynpx skills add ./ --list.Remaining AXI gaps (see docs/listing.md)
npx -y hey-axiuntil it's on npm.forward, which hey-axi refuses without--allow-send.--projectnarrows it).