{"_id":"@agentlas/claude-code-altas","_rev":"8-b9e00f919a288a1faca672175d9043f6","name":"@agentlas/claude-code-altas","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"@agentlas/claude-code-altas","version":"0.1.0","_id":"@agentlas/claude-code-altas@0.1.0","maintainers":[{"name":"kay404","email":"kay20475@hotmail.com"}],"dist":{"shasum":"ec644902e8898edb82dca79a8003431392cba356","tarball":"https://registry.npmjs.org/@agentlas/claude-code-altas/-/claude-code-altas-0.1.0.tgz","fileCount":5,"integrity":"sha512-De1PCV6cVzkyRfYHm5H49IJPaD2ZedElVfPedR6MvnSfcrV2cDqTBAciaKKdt+7gajSK1a8xF0KjzJEHqEUtfQ==","signatures":[{"sig":"MEYCIQD/ykNpBDMk1fh8QTT72gWn/WgEVUZqNwqgnokXPbycIQIhAP6Hea72sLlvLUkujEO9Lh1BDs2ETByv47xDq6/C4ysA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6041},"_from":"file:agentlas-claude-code-altas-0.1.0.tgz","private":false,"scripts":{"build":"echo 'no build (markdown-only plugin)'","typecheck":"echo 'no typecheck (markdown-only plugin)'"},"_npmUser":{"name":"kay404","email":"kay20475@hotmail.com"},"_resolved":"/private/var/folders/pr/7wvqh16d60j_qwr0j3jbjwn40000gn/T/d799d88ed7b9e76c02298b32a02c0579/agentlas-claude-code-altas-0.1.0.tgz","_integrity":"sha512-De1PCV6cVzkyRfYHm5H49IJPaD2ZedElVfPedR6MvnSfcrV2cDqTBAciaKKdt+7gajSK1a8xF0KjzJEHqEUtfQ==","_npmVersion":"11.11.0","description":"Claude Code plugin for Altas: /treehole slash command + model-invocable skill backed by the Altas MCP server.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-code-altas_0.1.0_1778071773458_0.4950864252350673","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.1":{"name":"@agentlas/claude-code-altas","version":"0.1.1","_id":"@agentlas/claude-code-altas@0.1.1","maintainers":[{"name":"kay404","email":"kay20475@hotmail.com"}],"dist":{"shasum":"8c2bea2cabd27a1769e9bf9cec8f2a367b434237","tarball":"https://registry.npmjs.org/@agentlas/claude-code-altas/-/claude-code-altas-0.1.1.tgz","fileCount":6,"integrity":"sha512-syksb5/CZ05jz8iLbEBlLrE8plghOyUICI4QqMfY5InDzHw/VvWb7A5WEukTGyAAhj1EWl6E7DgiW6p8/XGKVA==","signatures":[{"sig":"MEUCIQCu/vETx8zydsytUU2qpxFYqNk0CPhglTsiIjVMtznhygIgG4GzEcTAoVkP9ZjXtMqdFjMjXIbBmzmwQ/H9poIatag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6895},"_from":"file:agentlas-claude-code-altas-0.1.1.tgz","private":false,"scripts":{"build":"echo 'no build (markdown-only plugin)'","typecheck":"echo 'no typecheck (markdown-only plugin)'"},"_npmUser":{"name":"kay404","email":"kay20475@hotmail.com"},"_resolved":"/private/var/folders/pr/7wvqh16d60j_qwr0j3jbjwn40000gn/T/d6d5f0b3513e48f9fe2ffde658041832/agentlas-claude-code-altas-0.1.1.tgz","_integrity":"sha512-syksb5/CZ05jz8iLbEBlLrE8plghOyUICI4QqMfY5InDzHw/VvWb7A5WEukTGyAAhj1EWl6E7DgiW6p8/XGKVA==","_npmVersion":"11.11.0","description":"Claude Code plugin for Altas: /treehole slash command + model-invocable skill backed by the Altas MCP server.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-code-altas_0.1.1_1778073062665_0.9787403673807646","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.2":{"name":"@agentlas/claude-code-altas","version":"0.1.2","_id":"@agentlas/claude-code-altas@0.1.2","maintainers":[{"name":"kay404","email":"kay20475@hotmail.com"}],"dist":{"shasum":"e380d88abdfeadd18327aab5bc0bbe461e31edb3","tarball":"https://registry.npmjs.org/@agentlas/claude-code-altas/-/claude-code-altas-0.1.2.tgz","fileCount":6,"integrity":"sha512-YaXWHK3QFykW41g2BMohzGVJiIhxUs3SRJCTRn0tJS6ZLRPQCCRYaJkwa6DSTY3hUFRNSOTTk5QtWLdZpKdx8g==","signatures":[{"sig":"MEQCICXCww+F4UrtGdbWbxerCCzMKeFqLyDS+mvEitcCZyv1AiAULfH4exNZBlS4kFmxyXsGfv1RNDpZDXBF7eT51T+fiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7005},"_from":"file:agentlas-claude-code-altas-0.1.2.tgz","private":false,"scripts":{"build":"echo 'no build (markdown-only plugin)'","typecheck":"echo 'no typecheck (markdown-only plugin)'"},"_npmUser":{"name":"kay404","email":"kay20475@hotmail.com"},"_resolved":"/private/var/folders/pr/7wvqh16d60j_qwr0j3jbjwn40000gn/T/45787a939f22fd2fc6b2b93cecfb65ae/agentlas-claude-code-altas-0.1.2.tgz","_integrity":"sha512-YaXWHK3QFykW41g2BMohzGVJiIhxUs3SRJCTRn0tJS6ZLRPQCCRYaJkwa6DSTY3hUFRNSOTTk5QtWLdZpKdx8g==","_npmVersion":"11.11.0","description":"Claude Code plugin for Altas: /treehole slash command + model-invocable skill backed by the Altas MCP server.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-code-altas_0.1.2_1778073456071_0.19683135699545984","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.3":{"name":"@agentlas/claude-code-altas","version":"0.1.3","_id":"@agentlas/claude-code-altas@0.1.3","maintainers":[{"name":"kay404","email":"kay20475@hotmail.com"}],"dist":{"shasum":"04b3a23e47395c24b5b34ac419fa1dbc8be5a92b","tarball":"https://registry.npmjs.org/@agentlas/claude-code-altas/-/claude-code-altas-0.1.3.tgz","fileCount":6,"integrity":"sha512-GSlFb4RkSGK//N8YY0Ue0JgmZIiZlVGBJglwn0nEbwuUxfZGEG5Qsliip10YUs6pT0EFi9GEEDDiJKAjpOX+ZA==","signatures":[{"sig":"MEUCIQC9rd8cf5woLcUCC1uuxcRCrx7TBmjjKHYVyMIxbO3mfwIgSD1WF0dOw/m5q2gjy85V2ZdwesnN3ZKIzl8vOiY17sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7034},"gitHead":"9220ad3062c35e890578a8c48709a3ff883abf6d","private":false,"scripts":{"build":"echo 'no build (markdown-only plugin)'","typecheck":"echo 'no typecheck (markdown-only plugin)'"},"_npmUser":{"name":"kay404","email":"kay20475@hotmail.com"},"_npmVersion":"11.11.0","description":"Claude Code plugin for Altas: /treehole slash command + model-invocable skill backed by the Altas MCP server.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-code-altas_0.1.3_1778076207029_0.2776759773707451","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.4":{"name":"@agentlas/claude-code-altas","version":"0.1.4","_id":"@agentlas/claude-code-altas@0.1.4","maintainers":[{"name":"kay404","email":"kay20475@hotmail.com"}],"dist":{"shasum":"312693e4e3b83d5c971fbb031292a4400cabacfc","tarball":"https://registry.npmjs.org/@agentlas/claude-code-altas/-/claude-code-altas-0.1.4.tgz","fileCount":6,"integrity":"sha512-rSIWkdDTxzP6eAGf4Yz0tGzV3mTJv2C3DHutQolBtvpET2Py2NI1EIqFk5gCysaDmlSeuf+Yn+Wwm9ziYtyz7Q==","signatures":[{"sig":"MEUCIQChd/CSYWTOah1VHQ7f5pTu9E9X9jTKWZLVWytBM3Q0IAIgIpNxVvJAHmfjWWeLXitIVYeuNQRVKJaWbep/LboJ5J0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7395},"gitHead":"9220ad3062c35e890578a8c48709a3ff883abf6d","private":false,"scripts":{"build":"echo 'no build (markdown-only plugin)'","typecheck":"echo 'no typecheck (markdown-only plugin)'"},"_npmUser":{"name":"kay404","email":"kay20475@hotmail.com"},"_npmVersion":"11.11.0","description":"Claude Code plugin for Altas: /treehole slash command + model-invocable skill backed by the Altas MCP server.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-code-altas_0.1.4_1778076770313_0.9168564930009742","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.5":{"name":"@agentlas/claude-code-altas","version":"0.1.5","_id":"@agentlas/claude-code-altas@0.1.5","maintainers":[{"name":"kay404","email":"kay20475@hotmail.com"}],"dist":{"shasum":"7f1dd74e5c801fa55e17a86533126a800ee5a715","tarball":"https://registry.npmjs.org/@agentlas/claude-code-altas/-/claude-code-altas-0.1.5.tgz","fileCount":7,"integrity":"sha512-UKl1kJySc04CoKFAUDpygwf/8Sf/W8mRK74Qlxcturc2j53HNrDQ6vZbiJhXWFOGnbqSk0gDTj2+JI+JGyPjAQ==","signatures":[{"sig":"MEYCIQC8yZtjf1JOlgJuiMXWNDDiQnHh3tHvUmwQru2oeY+mWgIhALzCDBxQYTpc8EKm/NDQWB06trWGR1eA4/QL35XEp7df","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12540},"gitHead":"50397775ae1d414e8a52534efec2be5794a55f35","private":false,"scripts":{"build":"echo 'no build (markdown-only plugin)'","typecheck":"echo 'no typecheck (markdown-only plugin)'"},"_npmUser":{"name":"kay404","email":"kay20475@hotmail.com"},"_npmVersion":"11.11.0","description":"Claude Code plugin for Altas: Tree Hole note and session-summary skills backed by the Altas MCP server.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-code-altas_0.1.5_1778336318894_0.10738527002956011","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.6":{"name":"@agentlas/claude-code-altas","version":"0.1.6","_id":"@agentlas/claude-code-altas@0.1.6","maintainers":[{"name":"kay404","email":"kay20475@hotmail.com"}],"bin":{"claude-code-altas":"bin/claude-code-altas.js"},"dist":{"shasum":"fd36e6ea197c7389ede8aafcd48aba470f44efb1","tarball":"https://registry.npmjs.org/@agentlas/claude-code-altas/-/claude-code-altas-0.1.6.tgz","fileCount":8,"integrity":"sha512-RRPTbxT8gdR+yilK3HwqN9kt44M2xLWcATF0gwxI9wOS6mnpKzaLgZdiPLjFkHqMGxu2HDPLs+ILYw7BdVLrEg==","signatures":[{"sig":"MEYCIQCWQMmwSx2bNj9fWlZ9fjpSuCP03EHvPEs0Uw/QjpCL4QIhAOzsdsNBI05rwuOYRhUx7/QSTeOUKJj5HFrbagLA2TYI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21730},"gitHead":"50397775ae1d414e8a52534efec2be5794a55f35","private":false,"scripts":{"build":"echo 'no build (markdown-only plugin)'","typecheck":"echo 'no typecheck (markdown-only plugin)'"},"_npmUser":{"name":"kay404","email":"kay20475@hotmail.com"},"_npmVersion":"11.11.0","description":"Claude Code plugin for Altas: Tree Hole note and session-summary skills backed by the Altas MCP server.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-code-altas_0.1.6_1778339712554_0.34471833979777067","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2026-05-06T12:49:33.354Z","modified":"2026-05-10T09:10:18.157Z","0.1.0":"2026-05-06T12:49:33.593Z","0.1.1":"2026-05-06T13:11:02.793Z","0.1.2":"2026-05-06T13:17:36.222Z","0.1.3":"2026-05-06T14:03:27.345Z","0.1.4":"2026-05-06T14:12:50.465Z","0.1.5":"2026-05-09T14:18:39.051Z","0.1.6":"2026-05-09T15:15:12.718Z"},"description":"Claude Code plugin for Altas: Tree Hole note and session-summary skills backed by the Altas MCP server.","maintainers":[{"name":"kay404","email":"kay20475@hotmail.com"}],"readme":"# `@agentlas/claude-code-altas`\n\nClaude Code plugin for Altas. Adds Tree Hole slash-command and model-invocable skills backed by the Altas MCP server (`@agentlas/altas-mcp`).\n\n## Layout\n\n```\n.\n├── .claude-plugin/\n│   ├── marketplace.json            # self-marketplace pointing at this package directory\n│   └── plugin.json\n├── bin/claude-code-altas.js         # config helper for ~/.claude/settings.json\n├── .mcp.json                       # registers the altas MCP server via `npx -y @agentlas/altas-mcp`\n└── skills/\n    ├── treehole/SKILL.md           # /altas:treehole <text>  +  natural-language (\"发到树洞\")\n    └── session-summary/SKILL.md    # /altas:session-summary + natural-language session recap\n```\n\n## Configure\n\nThe `.mcp.json` references two values via shell-style env interpolation:\n`${ALTAS_API_BASE_URL}` and `${ALTAS_API_TOKEN}`. Claude Code reads them\nfrom its own process environment when launching the MCP server, so any\nmechanism that sets env vars on the Claude Code process works.\n\n### Recommended: config helper\n\nUse the package CLI to write the Altas values into user-wide Claude Code\nsettings:\n\n```bash\nnpx @agentlas/claude-code-altas config \\\n  --base-url \"https://your-altas-domain.com\" \\\n  --token \"sk_live_xxxxxxxx\"\n```\n\nThis updates `~/.claude/settings.json`:\n\n```json\n{\n  \"env\": {\n    \"ALTAS_API_BASE_URL\": \"https://your-altas-domain.com\",\n    \"ALTAS_API_TOKEN\": \"sk_live_xxxxxxxx\"\n  }\n}\n```\n\nRestart Claude Code so the new settings are picked up. Because these\nvalues live in `~/.claude/settings.json` instead of the plugin install\ndirectory, plugin upgrades do not require rerunning `config`.\n\nTo inspect the current config without printing the full token:\n\n```bash\nnpx @agentlas/claude-code-altas config --show\n```\n\nTo remove the Altas env values:\n\n```bash\nnpx @agentlas/claude-code-altas config --unset\n```\n\n### Manual: Claude Code `settings.json`\n\nAdd an `env` block to `~/.claude/settings.json` (user-wide) or to the\nproject's `.claude/settings.json` (per-project):\n\n```json\n{\n  \"env\": {\n    \"ALTAS_API_BASE_URL\": \"https://your-altas-domain.com\",\n    \"ALTAS_API_TOKEN\": \"sk_live_xxxxxxxx\"\n  }\n}\n```\n\nRestart Claude Code so the new settings are picked up. This is the\ncleanest path because it doesn't depend on which shell launched\nClaude Code.\n\n> ⚠️ Don't commit a real token. If you keep `settings.json` under\n> version control, put the `env` block in `settings.local.json`\n> instead — Claude Code merges `settings.json` + `settings.local.json`\n> at startup and `settings.local.json` is gitignored by default.\n\n### Alternative: shell environment\n\n```bash\nexport ALTAS_API_BASE_URL=\"https://your-altas-domain.com\"\nexport ALTAS_API_TOKEN=\"sk_live_xxxxxxxx\"\nclaude   # launch from the same shell\n```\n\nPersist by adding the two `export` lines to `~/.zshrc` or `~/.bashrc`.\nThis works but only when Claude Code is launched from a shell that\ninherited the variables.\n\n### Alternative: macOS launchd (system-wide)\n\n```bash\nlaunchctl setenv ALTAS_API_BASE_URL \"https://your-altas-domain.com\"\nlaunchctl setenv ALTAS_API_TOKEN \"sk_live_xxxxxxxx\"\n```\n\nVisible to GUI-launched apps too, but resets on macOS reboot.\n\n### What the MCP server actually does\n\n`.mcp.json` runs `npx -y @agentlas/altas-mcp` at startup. The MCP server\nis fetched from npm on first launch — no sibling-on-disk requirements.\nIt reads `ALTAS_API_BASE_URL` and `ALTAS_API_TOKEN` from its own\nenvironment (which Claude Code populates from the configured sources\nabove).\n\n## Install\n\n### Recommended: npm installer\n\nInstall the plugin through the package CLI:\n\n```bash\nnpx @agentlas/claude-code-altas install\n```\n\nThen configure Altas:\n\n```bash\nnpx @agentlas/claude-code-altas config \\\n  --base-url \"https://your-altas-domain.com\" \\\n  --token \"sk_live_xxxxxxxx\"\n```\n\nRestart Claude Code.\n\nFor upgrades, rerun:\n\n```bash\nnpx @agentlas/claude-code-altas install --force\n```\n\nYou do not need to rerun `config` after upgrades because the API values live\nin `~/.claude/settings.json`.\n\nBy default the installer uses Claude Code's `user` plugin scope. To install at\nanother scope:\n\n```bash\nnpx @agentlas/claude-code-altas install --scope project\nnpx @agentlas/claude-code-altas install --scope local\n```\n\nTo uninstall the plugin:\n\n```bash\nnpx @agentlas/claude-code-altas uninstall\n```\n\nThe installer wraps:\n\n```bash\nclaude plugin marketplace add <package-path>\nclaude plugin install altas@agentlas-claude-code-altas\n```\n\n### Alternative: GitHub marketplace (team members with repo access)\n\n```text\n/plugin marketplace add Omniverse-Web3-Labs/altas-plugins\n/plugin install altas\n```\n\nThis is the cleanest path if you have read access to the source repo. Claude Code clones `Omniverse-Web3-Labs/altas-plugins` and reads its root `.claude-plugin/marketplace.json`.\n\n### Alternative: manual npm marketplace\n\nThe published package bundles its own marketplace manifest, so it can register itself as a single-plugin marketplace. This works with Claude Code versions that do not yet support `source: \"npm\"` plugin entries, because the marketplace points at the installed package directory itself.\n\n```bash\nnpm i -g @agentlas/claude-code-altas\necho \"$(npm root -g)/@agentlas/claude-code-altas\"\n```\n\nTake the path printed by the second command and install from your shell:\n\n```bash\nclaude plugin marketplace add <that-path>\nclaude plugin install altas@agentlas-claude-code-altas\n```\n\nThen restart any running Claude Code session and confirm it is available with\n`/plugin list`. The in-session `/plugin install ...` command can keep using an\nolder marketplace snapshot in some Claude Code versions; the shell command above\nwrites the install directly to Claude Code's plugin store.\n\n### Alternative: standalone MCP only (skip the plugin shell)\n\nIf you don't need the `/altas:treehole` slash command and just want the\nMCP tools, register the server directly:\n\n```bash\nclaude mcp add --transport stdio \\\n  --env ALTAS_API_BASE_URL=\"$ALTAS_API_BASE_URL\" \\\n  --env ALTAS_API_TOKEN=\"$ALTAS_API_TOKEN\" \\\n  altas -- npx -y @agentlas/altas-mcp\n```\n\n## Usage\n\n```text\n/altas:treehole 今天有点累，但还是把最重要的事情推进了一点\n```\n\nOr in normal chat:\n\n```text\n帮我把这段话发到树洞：今天有点累，但还是把最重要的事情推进了一点\n```\n\nTo summarize the current session and save the digest:\n\n```text\n/altas:session-summary\n```\n\nOr in normal chat:\n\n```text\n总结本次 session 发到树洞\n把本轮上下文存成 memory，保留关键决策和待办\n```\n\nThe plugin sends a `POST /api/tree-hole-posts` request to Altas with `{ \"visibility\": \"private\", \"body\": \"...\" }`. For session summaries, the agent generates a concise, language-matched digest first and stores that digest as the post body. The post author is determined by `ALTAS_API_TOKEN`.\n\n## Troubleshooting\n\n- `还没有配置 Altas 服务地址` — `ALTAS_API_BASE_URL` is empty.\n- `还没有配置 Altas API Token` — `ALTAS_API_TOKEN` is empty.\n- `Altas API Token 无效或已失效` — create a fresh API key in Altas Settings.\n- `树洞保存失败，请稍后再试` — the Altas server is unreachable or `/api/tree-hole-posts` is unhealthy.\n- `This plugin uses a source type your Claude Code version does not support` — remove and re-add the marketplace after upgrading to `@agentlas/claude-code-altas@0.1.4` or newer. If the in-session `/plugin install ...` command still reports this after the upgrade, run `claude plugin install altas@agentlas-claude-code-altas` from your shell and restart Claude Code.\n- `Marketplace \"agentlas/claude-code-altas\" not found` — Claude Code's `/plugin install` does not accept filesystem paths. Use install path B above (`/plugin marketplace add <path>` first).\n- MCP server doesn't start — check that `npx -y @agentlas/altas-mcp` succeeds in your shell; npm registry access is required at first run.\n","readmeFilename":"README.md"}