{"id":45975681,"url":"https://github.com/kamusis/axon-cli","last_synced_at":"2026-03-17T12:15:34.115Z","repository":{"id":340921490,"uuid":"1167498052","full_name":"kamusis/axon-cli","owner":"kamusis","description":"Axon keeps your AI-editor/CLI/agent skills, workflows, and commands in sync across all your machines using a single Git-backed Hub","archived":false,"fork":false,"pushed_at":"2026-03-01T15:56:21.000Z","size":188,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-01T18:14:21.398Z","etag":null,"topics":["agent-skills","cli","git"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kamusis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-26T11:05:40.000Z","updated_at":"2026-03-01T15:56:25.000Z","dependencies_parsed_at":"2026-03-01T17:01:09.142Z","dependency_job_id":null,"html_url":"https://github.com/kamusis/axon-cli","commit_stats":null,"previous_names":["kamusis/axon-cli"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/kamusis/axon-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamusis%2Faxon-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamusis%2Faxon-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamusis%2Faxon-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamusis%2Faxon-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamusis","download_url":"https://codeload.github.com/kamusis/axon-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamusis%2Faxon-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30013921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T17:00:27.440Z","status":"ssl_error","status_checked_at":"2026-03-02T17:00:03.402Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","cli","git"],"created_at":"2026-02-28T16:05:58.639Z","updated_at":"2026-03-17T12:15:34.107Z","avatar_url":"https://github.com/kamusis.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Axon CLI\n\n**Hub-and-Spoke skill manager for AI editors/CLIs/agents.**\n\nAxon keeps your AI-editor/CLI/agent skills, workflows, and commands in sync across all your machines using a single Git-backed Hub at `~/.axon/repo/`. One command to rule them all — `axon sync`.\n\n![axon-how-it-works](https://files.seeusercontent.com/2026/02/28/rnQ5/vscode_picgo_1772260135208.jpeg)\n\n---\n\n## How It Works\n\n```\n~/.axon/repo/          ← The Hub (local Git repo, optionally synced to remote)\n  skills/\n  workflows/\n  commands/\n\n~/.codeium/windsurf/skills     → symlink → Hub/skills/\n~/.gemini/antigravity/...      → symlink → Hub/skills/\n~/.cursor/skills               → symlink → Hub/skills/\n... (20 targets out of the box)\n```\n\n## Quick Start\n\n\u003e **Prerequisite:** `git` must be installed and on your `PATH` before running any axon command.\n\u003e\n\u003e | OS            | Install                                                                                  |\n\u003e | ------------- | ---------------------------------------------------------------------------------------- |\n\u003e | macOS         | `brew install git` or Xcode Command Line Tools: `xcode-select --install`                 |\n\u003e | Ubuntu/Debian | `sudo apt install git`                                                                   |\n\u003e | Fedora/RHEL   | `sudo dnf install git`                                                                   |\n\u003e | Windows       | [git-scm.com/download/win](https://git-scm.com/download/win) or `winget install Git.Git` |\n\n```bash\n# 1. Download axon for your platform (see Releases)\n# 2. Bootstrap a local Hub\naxon init\n\n# 3. Link all your AI tools to the Hub\naxon link\n\n# 4. Sync to a remote repo (optional — add a remote first)\naxon sync\n```\n\n## Commands\n\n| Command                        | Description                                               |\n| ------------------------------ | --------------------------------------------------------- |\n| `axon init [repo-url]`         | Bootstrap the Hub; import existing skills                 |\n| `axon link [name\\|all]`        | Create symlinks from tool dirs to the Hub                 |\n| `axon unlink [name\\|all]`      | Remove symlinks; restore backups if available             |\n| `axon sync`                    | Commit → pull → push (or pull-only in read-only mode)     |\n| `axon remote set \u003curl\u003e`        | Set or update the Hub's git remote origin URL             |\n| `axon status [skill-name]`     | Validate symlinks + Hub git status; or show skill history |\n| `axon rollback \u003cskill\\|--all\u003e` | Revert a skill or the entire Hub to a previous commit     |\n| `axon audit [target]`          | Run AI-powered security audit on Hub content              |\n| `axon doctor`                  | Pre-flight environment check                              |\n| `axon list`                    | List local items grouped by category from axon.yaml       |\n| `axon search \u003cquery\u003e`          | Search skills/workflows/commands (keyword + semantic)     |\n| `axon inspect \u003cskill\u003e`         | Show metadata and structure of a skill                    |\n| `axon update`                  | Self-update axon to the latest GitHub release             |\n| `axon vendor sync`             | Mirror external GitHub subdirs into the Hub               |\n| `axon version`                 | Show detailed version/build/runtime info                  |\n\nGlobal flags:\n\n| Flag            | Description                 |\n| --------------- | --------------------------- |\n| `-v, --version` | Print axon version and exit |\n\n### `axon init` — Three Modes\n\n| Mode                  | Command                                   | Effect                              |\n| --------------------- | ----------------------------------------- | ----------------------------------- |\n| **A** Local only      | `axon init`                               | `git init` in Hub; add remote later |\n| **B** Personal remote | `axon init git@github.com:you/skills.git` | Clone or init + set origin          |\n| **C** Public upstream | `axon init --upstream`                    | Clone public hub, read-only         |\n\nAxon ships with a default public upstream Hub at:\n\n`https://github.com/kamusis/axon-hub`\n\nThis upstream repo is intended as an optional starting point (a curated baseline of skills/workflows/commands). It is used by `axon init --upstream` (Mode C).\n\nIf you want to sync your Hub to **your own repo**, use `axon remote set \u003curl\u003e` to change the Hub's git `origin` remote (then run `axon sync`). Editing `upstream:` in `~/.axon/axon.yaml` only affects which repo `axon init --upstream` clones.\n\nDuring init, Axon **safely imports** your existing skills:\n\n- Files with the **same MD5** → one copy kept, duplicate skipped\n- Files with the **same name but different content** → both preserved:\n  `oracle_expert.md` + `oracle_expert.conflict-antigravity.md`\n\n### `axon link` / `axon unlink`\n\n`axon link` creates symlinks from each configured tool directory (the \"spokes\") to the Hub (`~/.axon/repo/`). This makes all supported AI tools read the same canonical `skills/`, `workflows/`, and `commands/` content.\n\nIf the destination path already exists as a **non-empty real directory**, Axon moves it aside first (backup) under `~/.axon/backups/\u003ctarget\u003e_\u003ctimestamp\u003e/` and then creates the symlink. (Empty directories are removed and replaced with a symlink.)\n\n`axon unlink` only removes destinations that are **symlinks** (it refuses to delete real directories/files). If a backup exists (created by `axon link`), Axon restores the **most recent** backup back to the original destination.\n\nCommon usage:\n\n```bash\n# Link everything configured in ~/.axon/axon.yaml\naxon link\n\n# Link a single target by name\naxon link windsurf-skills\n\n# Remove links (restores backups if available)\naxon unlink\n\n# Unlink a single target by name\naxon unlink windsurf-skills\n```\n\n### `axon remote set \u003curl\u003e`\n\n`axon remote set \u003curl\u003e` sets (or updates) the Hub repo's Git remote `origin` URL. If `origin` does not exist, it is added; otherwise, its URL is updated.\n\nAfter setting the remote, Axon also does a best-effort `git fetch --prune origin` and attempts to auto-detect the remote default branch by running `git remote set-head origin -a` (used by commands like `axon status --fetch`).\n\nCommon usage:\n\n```bash\n# Set origin for the Hub (HTTPS)\naxon remote set https://github.com/you/axon-hub.git\n\n# Or SSH\naxon remote set git@github.com:you/axon-hub.git\n\n# Then sync to push your local Hub content\naxon sync\n```\n\n### `axon sync` — Two Modes\n\nConfigured via `sync_mode` in `~/.axon/axon.yaml`:\n\n- **`read-write`** (default): `git add` → `git commit` → `git pull --rebase` → `git push`\n- **`read-only`**: `git pull --ff-only` only; warns if local edits exist\n\nNote: when you run `axon init --upstream`, Axon writes `sync_mode: read-only` automatically (only when generating a fresh `axon.yaml`). If you later change `sync_mode` to `read-write` without switching `origin` to a repo you control, `axon sync` will typically fail at `git push` due to missing write permission. Use `axon remote set \u003curl\u003e` to point `origin` to your own repo before syncing in read-write mode.\n\nAxon-layer exclude patterns (from `excludes:` in `axon.yaml`) are written to `.git/info/exclude` before every sync — junk files can never reach a commit even without a `.gitignore`.\n\nTo prevent cross-platform CRLF/LF churn, `axon init` also writes a default `.gitattributes` into the Hub repo (if missing): `* text=auto eol=lf`.\n\n**Embedded `.git` auto-strip:** Skills downloaded via `git clone` often contain their own `.git` directory. Axon automatically detects and removes nested `.git` dirs before each `git add` so skills are committed as regular content, not as unresolvable submodules. Original skill files are never touched — only the `.git` metadata folder is stripped.\n\n### `axon status`\n\n`axon status` shows symlink health and the Hub repo's local git status.\n\nAdd `--fetch` to also fetch `origin` and show whether your local Hub branch is ahead/behind the remote default branch. If the remote is newer, run `axon sync` to pull updates.\n\nIf `origin/HEAD` is missing, re-run `axon remote set \u003curl\u003e` to initialize the remote default branch reference.\n\nPass an optional `skill-name` to switch to **skill-level inspection mode** — shows the skill's resolved path, whether it is currently linked, and its recent commit history:\n\n```bash\naxon status humanizer\naxon status humanizer --fetch   # also show remote ahead/behind count for this skill\n```\n\n```\n=== Skill: humanizer ===\n  Path:    /home/user/.axon/repo/skills/humanizer\n  Linked:  ✓\n\n● Recent commits:\n  #1   abc1234  2026-03-05 14:20   axon: sync from mac-mini\n  #2   def5678  2026-03-04 10:15   axon: sync from vps-1\n```\n\n### `axon rollback`\n\n`axon rollback` reverts a skill directory or the entire Hub to a previous commit **without requiring any Git knowledge**. It always creates a new forward commit (never rewrites history), so `axon sync` can safely propagate the rollback to all your machines.\n\n```bash\n# Revert one skill to the previous commit\naxon rollback humanizer\n\n# Revert one skill to a specific commit\naxon rollback humanizer --revision abc1234\n\n# Revert the entire Hub one commit back\naxon rollback --all\n\n# Revert the entire Hub to a specific commit\naxon rollback --all --revision abc1234\n```\n\nThe command prints a summary before acting:\n\n```\n[ Rollback ]\n  Skill:   humanizer\n  Current: axon: sync from mac-mini (2026-03-05 14:20)\n  Target:  axon: sync from vps-1   (2026-03-04 10:15)\n\n  Reverting skills/humanizer... DONE\n✓ Skill \"humanizer\" rolled back to def5678. Run 'axon sync' to propagate.\n```\n\n**Key behaviours:**\n\n- Refuses to run if the Hub has uncommitted changes — commit or stash first.\n- Use `axon status \u003cskill-name\u003e` to browse recent commits and find a target SHA before rolling back.\n- Running `axon rollback` twice on the same target cancels out (the second run reverts the first). To go back multiple steps, use `--revision \u003csha\u003e` to target a specific commit directly.\n- After rolling back, run `axon sync` to push the revert commit to your remote and pull it on other machines.\n\nFlags:\n\n| Flag               | Description                                                              |\n| ------------------ | ------------------------------------------------------------------------ |\n| `--all`            | Revert the entire Hub (mutually exclusive with a skill name)             |\n| `--revision \u003csha\u003e` | Target a specific Git SHA, tag, or branch instead of the previous commit |\n\n### `axon audit` — Security Audit\n\nScan your Hub content for security issues before sharing skills publicly. Uses AI-powered analysis to detect:\n\n- **Hardcoded secrets** — API keys, passwords, tokens, private keys\n- **Suspicious execution patterns** — shell injection, eval/exec, command substitution\n- **Data exfiltration** — unexpected curl/wget, outbound network calls\n- **PII** — emails, phone numbers, addresses in shared content\n\n```bash\naxon audit                  # scan entire Hub\naxon audit humanizer        # scan a single skill\naxon audit workflow.md      # scan a single file\naxon audit --fix            # interactive redaction mode\naxon audit --force          # force re-scan, ignore cache\n```\n\n**Configuration** (in `~/.axon/.env`):\n\n```bash\nAXON_AUDIT_PROVIDER=openai\nAXON_AUDIT_MODEL=gpt-4o-mini\nAXON_AUDIT_API_KEY=sk-...\nAXON_AUDIT_BASE_URL=                                    # optional: for Ollama or custom endpoints\nAXON_AUDIT_ALLOWED_EXTENSIONS=.md,.sh,.py,.js,.ts,.yaml,.yml  # comma-separated list\n```\n\n**Example output:**\n\n```text\n=== Security Audit: audit-fixture-risky-skill ===\n\n  ⚠  AI-powered analysis may produce false positives or miss issues.\n      All findings should be manually reviewed before taking action.\n\n  Scanning 4 file(s)...\n\n\n  SECURITY AUDIT REPORT\n  ═══════════════════════════════════════════════\n  Target: audit-fixture-risky-skill    Files: 4\n  ───────────────────────────────────────────────\n  RED FLAGS FOUND: 2\n\n  • [EXTREME]  (L13) scripts/publish.sh\n    Use of eval with potentially untrusted input can lead to code injection.\n    \"eval \"$CMD\" \u003e/dev/null || true\"\n\n  • [HIGH]     (L12) scripts/report.py\n    Hardcoded API key detected\n    \"api_key=\"sk-test-1234567890abcdef1234567890abcdef\"\"\n\n  ───────────────────────────────────────────────\n  PERMISSIONS REQUIRED (estimated):\n  • File Reads  : ~/.ssh/config\n  • File Writes : output.txt\n  • Network     : https://example.com/upload\n  • Commands    : curl, eval, subprocess.run\n  ───────────────────────────────────────────────\n  RISK LEVEL: EXTREME\n  VERDICT   : ⛔ DO NOT RUN\n  ═══════════════════════════════════════════════\n\n  2 potential issue(s) found. Review manually or run 'axon audit --fix'.\n```\n\n**Interactive fix mode** (`--fix`):\n\nFor each finding, choose an action:\n- `r` — Redact (replace with `[REDACTED]`)\n- `d` — Delete the entire line\n- `s` — Skip this finding\n- `q` — Quit (stop processing)\n\n**Caching:**\n\nAudit results are cached in `~/.axon/audit-results/` to avoid duplicate LLM API calls. When using `--fix`, cached results are used if files haven't changed. Use `--force` to bypass cache and re-scan.\n\n**Supported LLM providers:**\n\n- OpenAI (including compatible APIs)\n- Custom endpoints via `AXON_AUDIT_BASE_URL` (e.g., Ollama)\n\nFlags:\n\n| Flag      | Description                                |\n| --------- | ------------------------------------------ |\n| `--fix`   | Interactive redaction mode                 |\n| `--force` | Force re-scan, ignore cache                |\n\n### `axon inspect` — Skill Metadata\n\nQuickly inspect a skill without navigating the file system:\n\n```bash\naxon inspect humanizer        # exact name\naxon inspect git              # fuzzy match → shows git-pr-creator, git-release, github-issues\naxon inspect windsurf-skills  # by target name\n```\n\nParses `SKILL.md` frontmatter and shows: name, version, description, triggers, allowed tools, scripts, and declared dependencies (`requires.bins` / `requires.envs` with live availability check).\n\n### `axon list` — Local Inventory\n\n`axon list` provides a lightweight overview of all items currently in your local Hub repository, grouped by category (e.g., `skills`, `workflows`, `commands`, `rules`).\n\n```bash\naxon list\n```\n\nCategories are derived from the unique `source:` paths in your `axon.yaml`. For each category, Axon scans the immediate children and displays them with a minimal icon:\n\n- `+` for directories (e.g., typical skill folders)\n- `·` for files (e.g., flat markdown workflows or rules)\n\nExample output:\n\n```text\n=== Local Inventory ===\n\n● Skills\n  +  algorithmic-art\n  +  brainstorming\n\n● Workflows\n  ·  access-database.md\n  ·  codebase-review.md\n\n● Commands\n  -  (empty)\n```\n\n### `axon search` — Keyword + Semantic\n\n`axon search` searches documents in your Hub repo (by default: `skills/`, `workflows/`, `commands/`). It supports:\n\n- Keyword search (offline)\n- Semantic search (requires a local index + embeddings provider)\n\nDefault behavior:\n\n- Axon tries semantic search first.\n- If semantic search is unavailable, it falls back to keyword search.\n\nCommon usage:\n\n```bash\n# Search (semantic when available; otherwise keyword fallback)\naxon search \"database performance\"\n\n# Force keyword-only\naxon search --keyword \"git release\"\n\n# Force semantic-only (errors if semantic search cannot be performed)\naxon search --semantic \"postgres index\"\n```\n\n#### Build / update the local semantic index\n\nSemantic search needs a local index under `~/.axon/search/`.\n\n```bash\n# Build or update the local semantic index\naxon search --index\n\n# Rebuild even if no changes detected\naxon search --index --force\n```\n\nIndexing requires embeddings configuration. Axon resolves embeddings config from environment variables first, then `~/.axon/.env`:\n\n- `AXON_EMBEDDINGS_PROVIDER` (currently: `openai`)\n- `AXON_EMBEDDINGS_MODEL` (recommended: `text-embedding-3-small`)\n- `AXON_EMBEDDINGS_API_KEY`\n- `AXON_EMBEDDINGS_BASE_URL` (optional, default: `https://api.openai.com/v1`)\n\nNotes:\n\n- The embeddings model must match the model used to build the index. If you change `AXON_EMBEDDINGS_MODEL`, rebuild the index.\n- Use `--debug` to see which index directory was used (and semantic fallback reasons).\n\n#### Flags\n\n- `--index`: build/update `~/.axon/search/`\n- `--keyword`: keyword search only\n- `--semantic`: semantic search only (no fallback)\n- `--k \u003cint\u003e`: number of results to show (default: `5`)\n- `--min-score \u003cfloat\u003e`: minimum cosine similarity (semantic only). If not specified, Axon applies a default threshold unless `--k` is explicitly set.\n- `--force`: force re-indexing (with `--index`)\n- `--debug`: print debug information\n\n### `axon update` — Self Update\n\n`axon update` downloads the latest GitHub release for your platform, verifies its checksum (`checksums.txt`), and replaces the currently running binary (with rollback on failure).\n\nCommon usage:\n\n```bash\naxon update --check\naxon update\n```\n\nUseful flags:\n\n- `--check`: check if an update is available (no download/install)\n- `--dry-run`: resolve release + asset without downloading\n- `--timeout`: overall timeout budget (default 30s)\n- `--force`: reinstall even if already on the latest version\n- `--repo owner/name`: override the default repo (default: `kamusis/axon-cli`)\n\nOptional environment variables (helpful for GitHub API rate limits in shared networks):\n\n- `AXON_GITHUB_TOKEN` (preferred)\n- `GITHUB_TOKEN` (fallback)\n\nBootstrap note:\n\n- Self-update requires that the target release supports `-v/--version` for post-install verification.\n- Self-update is supported starting from `v0.2.0`. If you are on an older release, upgrade manually once to `v0.2.0` (or newer) before using `axon update`.\n\n### `axon vendor sync` — External Imports\n\n`axon vendor sync` allows you to populate your Hub with selected content from external GitHub repositories without the complexity of Git submodules. It clones external repos to a persistent cache (`~/.axon/cache/vendors`), performs an efficient **sparse-checkout** of the requested subdirectory, and mirrors the plain files into your Hub.\n\nThis is perfect for importing curated skills or workflows from community repositories.\n\n```bash\n# Sync all vendors configured in axon.yaml\naxon vendor sync\n```\n\n**How it works:**\n\n- It uses a **force-overwrite** strategy: local changes in the Hub destination will be overwritten by the upstream source.\n- Content in the Hub is just **plain files**; no `.git` metadata from the source is imported, keeping your Hub's own Git history clean.\n- It calculates a manifest of the last-synced Git SHA for each vendor. If the SHA hasn't changed, it skips the mirror step.\n\n#### Configuration Example\n\nAdd a `vendors:` section to your `~/.axon/axon.yaml`:\n\n```yaml\nvendors:\n  - name: extra-skills\n    repo: https://github.com/someuser/cool-skills.git\n    subdir: skills/coding\n    dest: skills/coding\n    ref: main # optional, defaults to main\n```\n\n- `name`: Unique identifier for the vendor entry.\n- `repo`: The Git URL of the external repository.\n- `subdir`: The directory inside the external repo you want to import.\n- `dest`: The destination path relative to your Hub root (`~/.axon/repo/`).\n- `ref`: (Optional) The Git branch, tag, or SHA to pin to.\n\n## Configuration\n\n`~/.axon/axon.yaml` is generated automatically by `axon init`. It contains your Hub path and pre-configured targets for various AI tools. You can manually edit it to add or remove targets, or to configure **external sources** (vendors).\n\n```yaml\nrepo_path: ~/.axon/repo\nsync_mode: read-write\nupstream: https://github.com/kamusis/axon-hub.git\n\n# ... (excludes section)\n\ntargets:\n  # ... (pre-configured tool targets)\n  - name: windsurf-skills\n    source: skills\n    destination: ~/.codeium/windsurf/skills\n    type: directory\n  # ... other targets\n\n# === USER ADDED: External Sources (Optional) ===\n# These are synced via `axon vendor sync`\nvendors:\n  - name: community-skill\n    repo: https://github.com/kamusis/axon-hub.git\n    subdir: skills/community-skill\n    dest: skills/community-skill\n    ref: main\n```\n\n## Prerequisites\n\n| Dependency | Required | Notes                                                                                                                                    |\n| ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------- |\n| **git**    | ✅ Hard  | Must be installed and on `PATH`. Axon uses `git` for all Hub operations (`init`, `link`, `sync`, `remote`). Run `axon doctor` to verify. |\n| **rsync**  | 💡 Soft  | Highly recommended for `axon vendor sync`. If missing, Axon falls back to `rm` + `cp`.                                                   |\n\nIf `git` is not found, affected commands will exit immediately with a clear error message.\n\n## Installation\n\n### Homebrew (macOS/Linux) — coming soon\n\n```bash\nbrew install kamusis/tap/axon\n```\n\n### Download Binary\n\nDownload the latest release from [GitHub Releases](https://github.com/kamusis/axon-cli/releases) and place `axon` in your `$PATH`.\n\n### Build from Source\n\n```bash\ngit clone https://github.com/kamusis/axon-cli.git\ncd axon-cli/src\ngo build -o axon .\nsudo mv axon /usr/local/bin/\n```\n\n## Windows Notes\n\nCreating symbolic links on Windows requires an Administrator terminal.\n\nRun `axon doctor` to check your environment before running `axon link`.\nWSL is fully supported without these restrictions.\n\n## Supported AI Editors (Out of the Box)\n\n| Tool        | Skills | Workflows | Commands |\n| ----------- | ------ | --------- | -------- |\n| Antigravity | ✓      | ✓         |          |\n| Claude Code | ✓      |           | ✓        |\n| Codex       | ✓      |           |          |\n| Cursor      | ✓      |           |          |\n| Gemini      | ✓      |           | ✓        |\n| Neovate     | ✓      |           |          |\n| OpenClaw    | ✓      |           |          |\n| OpenCode    | ✓      |           |          |\n| Qoder       | ✓      |           | ✓        |\n| Trae        | ✓      |           |          |\n| VSCode      | ✓      |           |          |\n| Windsurf    | ✓      | ✓         |          |\n\n---\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamusis%2Faxon-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkamusis%2Faxon-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamusis%2Faxon-cli/lists"}