{"_id":"@archfill/tsumugi-cli","_rev":"8-efde5f5e557fa5a905bafb6ce6682375","name":"@archfill/tsumugi-cli","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0":{"name":"@archfill/tsumugi-cli","version":"0.1.0","keywords":["tsumugi","claude-code","codex","plugin","cli","installer"],"author":{"name":"archfill"},"license":"Apache-2.0","_id":"@archfill/tsumugi-cli@0.1.0","maintainers":[{"name":"archfill","email":"uiyiuyiyi@gmail.com"}],"homepage":"https://github.com/archfill/tsumugi/tree/main/apps/cli","bugs":{"url":"https://github.com/archfill/tsumugi/issues"},"bin":{"tsumugi-cli":"bin/cli.mjs"},"dist":{"shasum":"5625ede6eedc746d07508ae6c43323daeae678fb","tarball":"https://registry.npmjs.org/@archfill/tsumugi-cli/-/tsumugi-cli-0.1.0.tgz","fileCount":3,"integrity":"sha512-xn640LgW8qaC9+n+ZhSBJSC0RGOXb57XUEf6FaKVHCx64vmIMwe42t0h7F4vKY29F9O7GYhggvkpa1evgdvXkA==","signatures":[{"sig":"MEUCIDgrSfzVubwuboGDBxKiCAC9qdK+p2+aa5gOsPC2W8EVAiEAkD1uuE8029BEu6hTdseq8avq6SlwQq0QmFBbgb8GmK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22644},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"f079e6b5558ca514290300b2fad4883ce160b8d7","scripts":{"test":"echo 'no tests yet'","build":"echo 'no build step (plain mjs)'","pack:dry":"npm pack --dry-run","typecheck":"node --check bin/cli.mjs","prepublishOnly":"node --check bin/cli.mjs"},"_npmUser":{"name":"archfill","email":"uiyiuyiyi@gmail.com"},"repository":{"url":"git+https://github.com/archfill/tsumugi.git","type":"git","directory":"apps/cli"},"_npmVersion":"10.9.8","description":"CLI for the tsumugi memory plugin (Claude Code & Codex) — install / manage / diagnose your tsumugi setup in one command.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsumugi-cli_0.1.0_1781621401110_0.38367178685785297","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@archfill/tsumugi-cli","version":"0.1.1","keywords":["tsumugi","claude-code","codex","plugin","cli","installer"],"author":{"name":"archfill"},"license":"Apache-2.0","_id":"@archfill/tsumugi-cli@0.1.1","maintainers":[{"name":"archfill","email":"uiyiuyiyi@gmail.com"}],"homepage":"https://github.com/archfill/tsumugi/tree/main/apps/cli","bugs":{"url":"https://github.com/archfill/tsumugi/issues"},"bin":{"tsumugi-cli":"bin/cli.mjs"},"dist":{"shasum":"23d638c3f13904fda19ce88973a4d01e4abcdfe1","tarball":"https://registry.npmjs.org/@archfill/tsumugi-cli/-/tsumugi-cli-0.1.1.tgz","fileCount":3,"integrity":"sha512-juaQRK87DYDV6yzrt5e+thiGc8kMi1+59QITXV8DrNYUvgK4HLFNbXjCEVxawrFBrQV03tKUHzva0gRcuMJevw==","signatures":[{"sig":"MEUCIBeRWUELw+Efc0c64fYyg59/byGsBSF1jfvFaKF41jQOAiEAznA4jQSE+l9ItWIFxI2iYZybNf3EGBr+JqgAcB0AKMU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25926},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"2b8e22268b39f1887efbef10e1fb89e06b777acc","scripts":{"test":"echo 'no tests yet'","build":"echo 'no build step (plain mjs)'","pack:dry":"npm pack --dry-run","typecheck":"node --check bin/cli.mjs","prepublishOnly":"node --check bin/cli.mjs"},"_npmUser":{"name":"archfill","email":"uiyiuyiyi@gmail.com"},"repository":{"url":"git+https://github.com/archfill/tsumugi.git","type":"git","directory":"apps/cli"},"_npmVersion":"10.9.8","description":"CLI for the tsumugi memory plugin (Claude Code & Codex) — install / manage / diagnose your tsumugi setup in one command.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsumugi-cli_0.1.1_1781623004118_0.7987849393421218","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@archfill/tsumugi-cli","version":"0.1.2","keywords":["tsumugi","claude-code","codex","plugin","cli","installer"],"author":{"name":"archfill"},"license":"Apache-2.0","_id":"@archfill/tsumugi-cli@0.1.2","maintainers":[{"name":"archfill","email":"uiyiuyiyi@gmail.com"}],"homepage":"https://github.com/archfill/tsumugi/tree/main/apps/cli","bugs":{"url":"https://github.com/archfill/tsumugi/issues"},"bin":{"tsumugi-cli":"bin/cli.mjs"},"dist":{"shasum":"93b6f21b244476396afa19105a2493600d0cab1b","tarball":"https://registry.npmjs.org/@archfill/tsumugi-cli/-/tsumugi-cli-0.1.2.tgz","fileCount":3,"integrity":"sha512-efKFYQxn7ffAxRFIMRqVawJh9/BweCxTmcnPkCNaW6LjSpVmto8aTAlwEtkSoMGt3Ii09W5Rek9d23HjoxHpoQ==","signatures":[{"sig":"MEUCIAclyfB3MqqIqWb8md4vPTQsbP2GgatYcO60ZmaoiGhaAiEA3H/5PWN1e2rhqvLCvbVV18g0nps+sR4Ohxh/rctUNeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27891},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"0b2414090217c7742739de11238d3a92c67d2e74","scripts":{"test":"echo 'no tests yet'","build":"echo 'no build step (plain mjs)'","pack:dry":"npm pack --dry-run","typecheck":"node --check bin/cli.mjs","prepublishOnly":"node --check bin/cli.mjs"},"_npmUser":{"name":"archfill","email":"uiyiuyiyi@gmail.com"},"repository":{"url":"git+https://github.com/archfill/tsumugi.git","type":"git","directory":"apps/cli"},"_npmVersion":"10.9.8","description":"CLI for the tsumugi memory plugin (Claude Code & Codex) — install / manage / diagnose your tsumugi setup in one command.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsumugi-cli_0.1.2_1781623824557_0.37426013729244345","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@archfill/tsumugi-cli","version":"0.1.3","keywords":["tsumugi","claude-code","codex","plugin","cli","installer"],"author":{"name":"archfill"},"license":"Apache-2.0","_id":"@archfill/tsumugi-cli@0.1.3","maintainers":[{"name":"archfill","email":"uiyiuyiyi@gmail.com"}],"homepage":"https://github.com/archfill/tsumugi/tree/main/apps/cli","bugs":{"url":"https://github.com/archfill/tsumugi/issues"},"bin":{"tsumugi-cli":"bin/cli.mjs"},"dist":{"shasum":"d8b6003f13b30750e411a04c0c58d2bd763bf387","tarball":"https://registry.npmjs.org/@archfill/tsumugi-cli/-/tsumugi-cli-0.1.3.tgz","fileCount":3,"integrity":"sha512-fUCTtGDvSFX87/0YA/FWSGigkAqX4doyLqVKllLv1hJi8Yhm0J/rV1dEFG0epPahZhrYuuWaxggbh/WJeD3JwA==","signatures":[{"sig":"MEUCIHEfOkugsLDRgZe39ZGFOvfc1KtZwY2QwExb8a26EptWAiEAtAhx+0UNkx1oVqVZhRoIjvM8KKj0xcHMKqxPjiNTswE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28260},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"c358294774fb38fdde25f3e95cc767505f4055dc","scripts":{"test":"echo 'no tests yet'","build":"echo 'no build step (plain mjs)'","pack:dry":"npm pack --dry-run","typecheck":"node --check bin/cli.mjs","prepublishOnly":"node --check bin/cli.mjs"},"_npmUser":{"name":"archfill","email":"uiyiuyiyi@gmail.com"},"repository":{"url":"git+https://github.com/archfill/tsumugi.git","type":"git","directory":"apps/cli"},"_npmVersion":"10.9.8","description":"CLI for the tsumugi memory plugin (Claude Code & Codex) — install / manage / diagnose your tsumugi setup in one command.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsumugi-cli_0.1.3_1781624692278_0.9140245798884716","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@archfill/tsumugi-cli","version":"0.1.4","keywords":["tsumugi","claude-code","codex","plugin","cli","installer"],"author":{"name":"archfill"},"license":"Apache-2.0","_id":"@archfill/tsumugi-cli@0.1.4","maintainers":[{"name":"archfill","email":"uiyiuyiyi@gmail.com"}],"homepage":"https://github.com/archfill/tsumugi/tree/main/apps/cli","bugs":{"url":"https://github.com/archfill/tsumugi/issues"},"bin":{"tsumugi-cli":"bin/cli.mjs"},"dist":{"shasum":"975ad8c7b6251383db8f43889f8e0231a7a4489f","tarball":"https://registry.npmjs.org/@archfill/tsumugi-cli/-/tsumugi-cli-0.1.4.tgz","fileCount":3,"integrity":"sha512-rXO/pB+dYv9hWJxGOwC/NZ0utz1l5lW/2aW8oI8q3yaD41YGAScQd5BNL7AaFPwsrchOjokdPvbuQpEL6AtXXg==","signatures":[{"sig":"MEUCIDXQl4++m8nLcSKtFVrGsn/uRoEFmjzQzXTRKkO5hdaOAiEA1/HGL1fnGjnDUcyd3b01t6f7BK4XvjIoXdjcQljWWa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32287},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"50125ad531cf9c21c9093763c0c75fa5292b28ce","scripts":{"test":"echo 'no tests yet'","build":"echo 'no build step (plain mjs)'","pack:dry":"npm pack --dry-run","typecheck":"node --check bin/cli.mjs","prepublishOnly":"node --check bin/cli.mjs"},"_npmUser":{"name":"archfill","email":"uiyiuyiyi@gmail.com"},"repository":{"url":"git+https://github.com/archfill/tsumugi.git","type":"git","directory":"apps/cli"},"_npmVersion":"10.9.8","description":"CLI for the tsumugi memory plugin (Claude Code & Codex) — install / manage / diagnose your tsumugi setup in one command.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsumugi-cli_0.1.4_1782480499326_0.9571205346747431","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@archfill/tsumugi-cli","version":"0.1.5","keywords":["tsumugi","claude-code","codex","plugin","cli","installer"],"author":{"name":"archfill"},"license":"Apache-2.0","_id":"@archfill/tsumugi-cli@0.1.5","maintainers":[{"name":"archfill","email":"uiyiuyiyi@gmail.com"}],"homepage":"https://github.com/archfill/tsumugi/tree/main/apps/cli","bugs":{"url":"https://github.com/archfill/tsumugi/issues"},"bin":{"tsumugi-cli":"bin/cli.mjs"},"dist":{"shasum":"d802bec2ada86de75265bcf5ab946fd6b51e76ea","tarball":"https://registry.npmjs.org/@archfill/tsumugi-cli/-/tsumugi-cli-0.1.5.tgz","fileCount":3,"integrity":"sha512-1E6ZUBuHJ8J8Qln9T+d7o1qq/xfLy61BkeVFTjqoGjqCiEh2VA7wwJJgg3+VnaSw8tGuQ9IvP7uEiYyOTGV67Q==","signatures":[{"sig":"MEUCIQCEBcYTli0KWBEdmHguK+eswPIA5CemjCGNwJemjVkyZAIgf7dTw4gMyUFh9Zyngl+Z9e4+h1E4ZbKTlOabXddBFlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32301},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"e03ee2e3b6494d5e536e556211a1ca6f4ca9a473","scripts":{"test":"echo 'no tests yet'","build":"echo 'no build step (plain mjs)'","pack:dry":"npm pack --dry-run","typecheck":"node --check bin/cli.mjs","prepublishOnly":"node --check bin/cli.mjs"},"_npmUser":{"name":"archfill","email":"uiyiuyiyi@gmail.com"},"repository":{"url":"git+https://github.com/archfill/tsumugi.git","type":"git","directory":"apps/cli"},"_npmVersion":"10.9.8","description":"CLI for the tsumugi memory plugin (Claude Code & Codex) — install / manage / diagnose your tsumugi setup in one command.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsumugi-cli_0.1.5_1782548948942_0.504580709292207","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@archfill/tsumugi-cli","version":"0.1.6","keywords":["tsumugi","claude-code","codex","plugin","cli","installer"],"author":{"name":"archfill"},"license":"Apache-2.0","_id":"@archfill/tsumugi-cli@0.1.6","maintainers":[{"name":"archfill","email":"uiyiuyiyi@gmail.com"}],"homepage":"https://github.com/archfill/tsumugi/tree/main/apps/cli","bugs":{"url":"https://github.com/archfill/tsumugi/issues"},"bin":{"tsumugi-cli":"bin/cli.mjs"},"dist":{"shasum":"796e8be09983548342cff634c85cc8aab59bb82c","tarball":"https://registry.npmjs.org/@archfill/tsumugi-cli/-/tsumugi-cli-0.1.6.tgz","fileCount":3,"integrity":"sha512-b7MpuTyxQMwdSu1JWY1OsX6Rfe6cRjLREozrBnaSG3PfI1HxjBoZoMXv5CJthz10wk7KT+MoY4LIvW1wMugjtg==","signatures":[{"sig":"MEYCIQCvxlibZue6T3UY2/CwlqrLSzlLqBilTFpa65IBYjEPzwIhAOF6x9iODVHlcveE4bxKFFrAPVBhbgk4yBsMo8s5Muql","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33360},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"f5cafa56d3712e4ebe5bf29e5a90f5647ec434ab","scripts":{"test":"echo 'no tests yet'","build":"echo 'no build step (plain mjs)'","pack:dry":"npm pack --dry-run","typecheck":"node --check bin/cli.mjs","prepublishOnly":"node --check bin/cli.mjs"},"_npmUser":{"name":"archfill","email":"uiyiuyiyi@gmail.com"},"repository":{"url":"git+https://github.com/archfill/tsumugi.git","type":"git","directory":"apps/cli"},"_npmVersion":"10.9.8","description":"CLI for the tsumugi memory plugin (Claude Code & Codex) — install / manage / diagnose your tsumugi setup in one command.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsumugi-cli_0.1.6_1782555564591_0.6869070197264702","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@archfill/tsumugi-cli","version":"0.1.7","description":"CLI for the tsumugi memory plugin (Claude Code & Codex) — install / manage / diagnose your tsumugi setup in one command.","type":"module","license":"Apache-2.0","author":{"name":"archfill"},"repository":{"type":"git","url":"git+https://github.com/archfill/tsumugi.git","directory":"apps/cli"},"homepage":"https://github.com/archfill/tsumugi/tree/main/apps/cli","bugs":{"url":"https://github.com/archfill/tsumugi/issues"},"keywords":["tsumugi","claude-code","codex","plugin","cli","installer"],"bin":{"tsumugi-cli":"bin/cli.mjs"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"dependencies":{"@clack/prompts":"^1.5.1","picocolors":"^1.1.1"},"scripts":{"typecheck":"node --check bin/cli.mjs","test":"echo 'no tests yet'","build":"echo 'no build step (plain mjs)'","pack:dry":"npm pack --dry-run","prepublishOnly":"node --check bin/cli.mjs"},"_id":"@archfill/tsumugi-cli@0.1.7","gitHead":"6e7e390d605b4728cb15adc103f62ba9f19c6a8f","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-Ng3EdAw1VrLFq5fO5jEHqOloAkmd5DcXgdBUBAveTw0WzvyMdCZHq8ePx1q2F9nCuDuGs8SdtHRMJWJNGmFkxw==","shasum":"7c5a453a7a145c7c90252c13625709dfb64217ee","tarball":"https://registry.npmjs.org/@archfill/tsumugi-cli/-/tsumugi-cli-0.1.7.tgz","fileCount":3,"unpackedSize":33549,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG/U5EIV5oyVI8Av7TY2XpKjsrahLCIH2Wp/4o4DcLWiAiBlIoNYOk3dRzkqc9Zxj538V6TQDL6QK0x7wN7LiucD5g=="}]},"_npmUser":{"name":"archfill","email":"uiyiuyiyi@gmail.com"},"directories":{},"maintainers":[{"name":"archfill","email":"uiyiuyiyi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tsumugi-cli_0.1.7_1783323459564_0.6242139776495765"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T14:50:00.898Z","modified":"2026-07-06T07:37:39.797Z","0.1.0":"2026-06-16T14:50:01.251Z","0.1.1":"2026-06-16T15:16:44.273Z","0.1.2":"2026-06-16T15:30:24.736Z","0.1.3":"2026-06-16T15:44:52.427Z","0.1.4":"2026-06-26T13:28:19.514Z","0.1.5":"2026-06-27T08:29:09.065Z","0.1.6":"2026-06-27T10:19:24.732Z","0.1.7":"2026-07-06T07:37:39.701Z"},"bugs":{"url":"https://github.com/archfill/tsumugi/issues"},"author":{"name":"archfill"},"license":"Apache-2.0","homepage":"https://github.com/archfill/tsumugi/tree/main/apps/cli","keywords":["tsumugi","claude-code","codex","plugin","cli","installer"],"repository":{"type":"git","url":"git+https://github.com/archfill/tsumugi.git","directory":"apps/cli"},"description":"CLI for the tsumugi memory plugin (Claude Code & Codex) — install / manage / diagnose your tsumugi setup in one command.","maintainers":[{"name":"archfill","email":"uiyiuyiyi@gmail.com"}],"readme":"# @archfill/tsumugi-cli\n\nCLI for the tsumugi memory plugin (Claude Code & Codex). Install, manage, and diagnose your tsumugi setup in one command.\n\n## Quick start\n\n```bash\nnpx @archfill/tsumugi-cli install\n```\n\nPrompts for:\n\n1. Your `tsumugi` server URL (e.g. `https://tsumugi.example.com`)\n2. Which platform to install for: Claude Code / Codex / Both\n\nThen registers the marketplace(s), installs the plugin(s), and writes credentials in one go.\n\nAfter it finishes, restart Claude Code and/or Codex so the new plugin is picked up.\n\n## Commands\n\n### `install` (default)\n\nRegisters the marketplace and plugin for the selected platforms and writes credentials. Running `npx @archfill/tsumugi-cli` with no subcommand is equivalent to `install`.\n\n```text\nOptions:\n  -u, --url <URL>           tsumugi server URL (skip prompt)\n  -p, --platform <kind>     claude | codex | both\n                            (default: prompted; both when --non-interactive)\n  -y, --non-interactive     Skip prompts (requires --url)\n  -f, --force               Re-clone Claude Code marketplace even if it already exists\n  -h, --help                Show help\n```\n\nExamples:\n\n```bash\n# Interactive (prompts for URL + platform)\nnpx @archfill/tsumugi-cli install\n\n# Non-interactive (CI / scripts)\nnpx @archfill/tsumugi-cli install -u https://tsumugi.example.com -y\n\n# Codex only\nnpx @archfill/tsumugi-cli install --platform=codex -u https://tsumugi.example.com -y\n\n# Force re-clone (Claude Code marketplace clone only)\nnpx @archfill/tsumugi-cli install -f\n```\n\n### `update`\n\nRefreshes installed marketplace/plugin registrations.\n\n- Claude Code: pulls the local marketplace clone and refreshes `known_marketplaces.json` / `installed_plugins.json`.\n- Codex: ensures `archfill/tsumugi --ref main` is registered as a Git marketplace, runs `codex plugin marketplace upgrade archfill`, then refreshes `tsumugi@archfill`.\n\n```text\nOptions:\n  -p, --platform <kind>     claude | codex | both\n                            (default: both)\n  -h, --help                Show help\n```\n\nExamples:\n\n```bash\nnpx @archfill/tsumugi-cli update\nnpx @archfill/tsumugi-cli update --platform=codex\n```\n\n### Planned\n\n- `doctor` — Diagnose the local setup (Claude Code / Codex version, plugin presence, MCP connectivity, credentials file, etc.)\n- `uninstall` — Remove the plugin registration and optionally delete the cloned marketplace\n- `status` — Show the current installation state\n\n## What `install` writes\n\n| Platform    | Path                                                | Purpose                                                 |\n| ----------- | --------------------------------------------------- | ------------------------------------------------------- |\n| Claude Code | `~/.claude/plugins/marketplaces/archfill/`          | Cloned `archfill/tsumugi` repo                          |\n| Claude Code | `~/.claude/plugins/known_marketplaces.json`         | Registers the `archfill` marketplace                    |\n| Claude Code | `~/.claude/plugins/installed_plugins.json`          | Registers the `tsumugi@archfill` plugin                 |\n| Claude Code | `~/.claude/settings.json` (`enabledPlugins`, `env`) | Enables the plugin and exports `TSUMUGI_API_URL`        |\n| Codex       | (via `codex plugin marketplace add archfill/tsumugi --ref main`) | Registers the Git marketplace with Codex CLI |\n| Codex       | (via `codex plugin add tsumugi@archfill`)           | Installs and enables the plugin (sets `enabled = true`) |\n| Codex       | `~/.codex/config.toml` (`[mcp_servers.tsumugi]`)    | Registers the tsumugi MCP server with the literal URL and approves `save_observation` / `search_memory` |\n| Shared      | `~/.config/tsumugi/credentials.json`                | Stores the tsumugi server URL                           |\n\nAll writes are atomic (temp file + rename) and merge with existing values rather than overwriting.\n\nFor Codex, the CLI runs `codex plugin marketplace add archfill/tsumugi --ref main` and `codex plugin add tsumugi@archfill` in sequence. This registers a Git marketplace, so future updates can use `codex plugin marketplace upgrade archfill`. If the Codex CLI is not on `PATH`, the CLI prints the two commands you should run after installing Codex.\n\n## Plugin contents\n\nThe tsumugi plugin (both platforms) includes:\n\n- Inject hooks (SessionStart / UserPromptSubmit / PreToolUse(Read)) that surface past memory and guide save_observation calls\n- Layer 1 capture hooks for durable safety-net capture; Codex also captures PreCompact / PostCompact boundaries\n- The tsumugi MCP server (`save_observation`, `search_memory`, `mark_memory_outdated`, `trigger_dreaming`, `get_dreaming_status`) via `.mcp.json`\n\nSee [ADR-011](../../docs/adr/0011-hook-llm-placement.md) and [ADR-014](../../docs/adr/0014-three-layer-capture-promotion.md) for the design rationale.\n\n## Manual install (alternative)\n\nIf you prefer not to use this CLI, you can install the plugin manually.\n\n### Claude Code\n\n```text\n/plugin marketplace add archfill/tsumugi\n/plugin install tsumugi@archfill\n```\n\n### Codex\n\n```bash\ncodex plugin marketplace add archfill/tsumugi --ref main\ncodex plugin add tsumugi@archfill\n```\n\n`codex plugin marketplace add` だけだと `[plugins.\"tsumugi@archfill\"]` セクションに `enabled = true` が立たず hook が読み込まれない。`codex plugin add` まで実行して plugin を install する。\n\nCodex plugin 更新:\n\n```bash\ncodex plugin marketplace upgrade archfill\ncodex plugin add tsumugi@archfill\n```\n\n`[mcp_servers.tsumugi]` を `~/.codex/config.toml` に追記する場合 (CLI が自動でやる内容):\n\n```toml\n[mcp_servers.tsumugi]\nurl = \"https://tsumugi.example.com/mcp\"\nstartup_timeout_sec = 20\ntool_timeout_sec = 60\n\n[mcp_servers.tsumugi.tools.save_observation]\napproval_mode = \"approve\"\n\n[mcp_servers.tsumugi.tools.search_memory]\napproval_mode = \"approve\"\n```\n\n`save_observation` は memory 保存の中核なので、信頼済みの tsumugi server に対しては Codex の approval review 対象にしない設定にしている。`mark_memory_outdated` / `trigger_dreaming` は別の副作用を持つため、CLI は自動承認しない。\n\n### Set the tsumugi server URL (both)\n\n```bash\n# either env var\nexport TSUMUGI_API_URL=https://tsumugi.example.com\n\n# or credentials file\nmkdir -p ~/.config/tsumugi\ncat > ~/.config/tsumugi/credentials.json <<EOF\n{ \"api_url\": \"https://tsumugi.example.com\" }\nEOF\n```\n\n## Dependencies\n\nUses [`@clack/prompts`](https://www.npmjs.com/package/@clack/prompts) for polished interactive prompts and spinners, and [`picocolors`](https://www.npmjs.com/package/picocolors) for terminal coloring. Both are small and well-maintained.\n\nRequires Node.js 18+.\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}