Skip to content
nodecode-aiPublic

About

The index of Nodecode add-ons: one pinned entry per add-on, read by /setup

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

335 Commits

Folders and files

Repository files navigation

Nodecode cells

Every cell of Nodecode, one folder each, under the kind it is: a provider (a model subscription, a sign-in, a wire), a tool (a verb the model or the operator calls), a room (a chat surface).

Two sorts live side by side. The ones marked ships are built into every Nodecode release: the release reads them from here at the one commit its src/cells/bundle.json pins, so they are never index entries. The rest are in index.json, which nodecode add nc://NAME, /cells and the setup walk read and list after the shipped ones. template/ is what a new cell is copied from.

Providers (providers/)

Folder What it does
nodecode-acp Claude Code, Codex, Gemini CLI or any ACP agent as a session's agent: its calls, diffs, permission cards and Stop on the page.
nodecode-alibaba-coding-plan Alibaba Coding Plan: Model Studio's coding subscription as a Nodecode provider.
nodecode-alibaba-token-plan QwenCloud Token Plan: Alibaba's regional token subscription as a Nodecode provider.
nodecode-amazon-bedrock Amazon Bedrock: the Converse Stream wire, SigV4 signing and the AWS event stream, on a lane of its own.
nodecode-apple Apple Foundation Models: the on-device model, through omp's Swift bridge, as a provider lane (macOS only).
nodecode-azure Azure OpenAI: the Responses API on an Azure resource, with its api-version and api-key.
nodecode-claude-code Claude models through your own logged-in Claude Code CLI. Linux and macOS.
nodecode-cline Cline's API: the client header its free models need, and its model feed.
nodecode-cline-pass ClinePass: Cline's model subscription as a Nodecode provider.
nodecode-cloudflare-ai-gateway Cloudflare AI Gateway: Anthropic, OpenAI and Workers AI models through one gateway.
nodecode-codex-auth A ChatGPT subscription's login on OpenAI-family lanes.
nodecode-cursor Cursor: a browser sign-in, and Cursor's Agent protocol (Connect over HTTP, protobuf) as a lane of its own.
nodecode-devin Devin: a browser sign-in, and Codeium's Cascade wire (Connect over protobuf) as a lane of its own.
nodecode-factory-droid Factory Droid: Factory's model subscription as a Nodecode provider, signed in with a WorkOS device code.
nodecode-github-copilot GitHub Copilot: a GitHub device sign-in, and Copilot's Messages, chat and Responses wires as one provider.
nodecode-gitlab-duo GitLab Duo Non-Agentic: Duo's chat models through GitLab's AI gateway, as a Nodecode provider.
nodecode-gitlab-duo-agent GitLab Duo Agent: the Duo Workflow Service as a Nodecode provider lane.
nodecode-google-antigravity Antigravity: a Google sign-in, and Antigravity's Cloud Code Assist wire as a lane of its own.
nodecode-google-gemini-cli Google Cloud Code Assist: a Google sign-in, and the Gemini CLI's wire as a lane of its own.
nodecode-google-vertex Google Vertex AI: Gemini, Claude and partner models on a Google Cloud project, with an API key or Application Default Credentials.
nodecode-kilo Kilo Gateway: sign in with a device code, and serve its models.
nodecode-kimi-code Kimi Code: Moonshot's coding subscription as a Nodecode provider, signed in with a device code.
nodecode-local Local models: omp's tiny-model workers (ONNX, MLX) as a Nodecode provider lane.
nodecode-muse-code Muse Code: Meta's Muse subscription as a Nodecode provider, signed in with a device code.
nodecode-ollama-cloud Ollama Cloud: Ollama's native /api/chat wire as a Nodecode provider lane.
nodecode-openai-codex ChatGPT Plus/Pro (Codex subscription): sign in, and serve the Codex models.
nodecode-openai-codex-device ChatGPT Plus/Pro (Codex, headless/device): sign in with a device code, and serve the Codex models.
nodecode-openrouter OpenRouter, with its browser sign-in, as a Nodecode provider.
nodecode-snowflake Snowflake Cortex: Claude and GPT models on a Snowflake account, signed in or with a PAT.
nodecode-xai-oauth XAI Grok through a SuperGrok or X Premium+ sign-in, as a Nodecode provider.
nodecode-xiaomi Xiaomi MiMo: its models, on a pay-as-you-go key or a regional Token Plan key.
nodecode-zai-coding-plan Z.AI GLM Coding Plan, signed in from the browser, as a Nodecode provider.

Tools (tools/)

Folder What it does
nodecode-chrome ships Drive Chrome; needs the companion extension.
nodecode-cron ships Prompts that run on a schedule.
nodecode-cyber-security ships Cyber security: the latest breaches and the fix for each, re-scanned every 6 hours; checks your server and website and walks you through patching.
nodecode-experience ships Learns from each turn: reflection and recaps.
nodecode-goal ships Keeps a session taking turns until its goal's check passes.
nodecode-guard ships Refuses risky shell commands before they run.
nodecode-lsp Language servers for Nodecode: diagnostics on write, navigation and rename verbs.
nodecode-mcp ships Tools from MCP servers you list in the config.
nodecode-perplexity Perplexity web search: sign in with a Pro/Max account, or use a key, and search from eval.
nodecode-prs ships Pull requests ranked and reviewed minutes after each push.
nodecode-qa ships Anonymous usage counts, one page a week, sent only if you say so.
nodecode-security-audit Cloudflare's security-audit skill: multi-phase security audits with independently verified, machine-readable findings.
nodecode-team ships Several sessions work one task together in a shared folder.
nodecode-typesafe TypeSafe: typed judgments over a state (System One), called through eval.
nodecode-web-provider Web search engines: Google, Startpage, DuckDuckGo, Ecosia, Mojeek, SearXNG and their merge, keyless.
nodecode-websearch ships Web search and page fetch; no key needed.

Rooms (rooms/)

Folder What it does
nodecode-channel-discord ships Talk to nodecode through a Discord bot.
nodecode-channel-email Talk to Nodecode by email: a mailbox in, threaded replies out.
nodecode-channel-imessage Talk to Nodecode over iMessage, through a BlueBubbles server on a Mac.
nodecode-channel-x Talk to Nodecode on X: replies under mentions from allowed people, as a bot account of its own.
nodecode-channel-kit ships Shared plumbing for the chat bots; comes with Discord or Telegram.
nodecode-channel-matrix Talk to Nodecode through a Matrix account; unencrypted rooms for now.
nodecode-channel-whatsapp Talk to Nodecode on WhatsApp, as a linked device of the bot's own number.
nodecode-channel-slack Talk to Nodecode through a Slack app.
nodecode-channel-telegram ships Talk to nodecode through a Telegram bot.
nodecode-link ships Open this machine's page from anywhere; /link on turns it on.
nodecode-web ships Use nodecode in a browser tab; nodecode web opens it.

What an entry is. A folder in a public git repository, pinned at one commit that a person here read before merging. The folder is the whole repository, or one folder of it named by path, the way this repository's own cells are listed. Installing one clones that commit and nothing moves it afterwards. An cell runs inside Nodecode with full access to your files and keys, so every entry is pinned and every change to one is a new pull request that gets read the same way.

Add yours

  1. Put your cell in a public repository with its .asd at the top, or at the top of one folder of it. The folder contract is in Nodecode's src/CELLS.md; start from template/. Vendor anything beyond nodecode and the shipped cells under vendor/. An entry never depends on another entry here.
  2. Open a pull request that adds one entry to index.json, keeping the list sorted by name:
{
  "name": "nodecode-weather",
  "git": "https://github.com/someone/nodecode-weather",
  "commit": "3f9a1c7e2b8d4f60a5e19c0b7d2e4a6f8c1b3d5e",
  "description": "Current weather and a 3-day forecast, as a tool the model can call.",
  "license": "MIT",
  "depends_on": ["nodecode"],
  "platforms": ["linux", "macos", "windows"]
}
Field Rule
name Your primary system's name, which is your .asd file's name. a-z, 0-9, ., _, -. It can't be a name Nodecode ships.
git An https:// URL.
commit The full 40-character commit id. A branch or a short id is refused.
path Optional. The folder inside the repository the cell is, as a/b, when it isn't the whole repository. This repository's own are providers/nodecode-x, tools/nodecode-x, rooms/nodecode-x.
description Exactly your primary system's :description.
license Your .asd's :license. Required.
depends_on Exactly the systems your .asd depends on from outside your folder.
platforms Optional. Leave it out when the cell runs on Linux, macOS and Windows.
  1. Before the index is published, .github/check.sh installs every entry into a scratch home with a Nodecode release and loads it; an index that fails is not served. Nodecode itself refuses an entry whose clone doesn't match its line: a different HEAD, a different primary system, a description or depends_on that isn't the .asd's, or a symbolic link anywhere in the cell's folder.
  2. A maintainer reads the code at that commit and merges.

To update your cell, open a pull request that changes commit (and description or depends_on if they changed).

Run the check yourself

.github/check.sh              # nodecode on PATH
.github/check.sh ./nodecode   # or a binary you name

It works in a scratch home and never touches your own ~/.nodecode.

One cell's own tests run against a Nodecode source tree (the commit .github/nodecode-rev names, read from ~/nodecode/nodecode or NODECODE_SRC), offline, in a scratch home:

.github/test-cell.sh tools/nodecode-guard

Every .lisp and .asd file here passes the structural lint Nodecode's own sources pass (src/tools/lint-structure.lisp, read from Nodecode main). CI runs it on every pull request; locally it needs sbcl:

.github/lint.sh

About

The index of Nodecode add-ons: one pinned entry per add-on, read by /setup

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages