npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@arnilo/prism-code

v0.4.1

Published

Terminal coding agent built on @arnilo/prism-agent-sdk with OpenTUI renderer, headless modes, and ACP server.

Readme

@arnilo/prism-code

Terminal coding agent app built on @arnilo/prism-agent-sdk — one assembled definition, three surfaces:

  • Interactive TUI — streaming messages, tool cards, approval prompts, provider/model/effort pickers, and a status footer, rendered with OpenTUI on Bun native FFI.
  • Headless — print streams assistant text; json emits one event envelope per line for scripting and CI.
  • ACP server — prism-code acp serves the Agent Client Protocol over stdio for editor clients.
bun add -g @arnilo/prism-code
# or without Bun/npm (installs to ~/.prism/bin):
curl -fsSL https://raw.githubusercontent.com/ashiqrniloy/prism/main/install.sh | sh

0.4.0+ is the terminal app. Versions 0.3.x and earlier of @arnilo/prism-code were the coding-agent profile library. That library surface moved to @arnilo/prism-coding-tools (tools, security, coding agent helpers) and @arnilo/prism-agent-sdk (defineAgent, codingPreset). Pin @arnilo/[email protected] only if you still need the old library.

Quick start

# Launch the interactive TUI in the current repository
prism-code

# One-shot prompt (print mode; one event per line with --mode json)
prism-code -p "summarize the repository architecture"

# Resume a durable session
prism-code --session session_1757950000000_ab12cd34

# Serve ACP for an editor integration
prism-code acp

Run the offline mock-provider demo without credentials:

bun examples/prism-code-headless.ts

Configuration (prism-code.json)

The config file is the trust boundary: unknown keys are rejected, values are shape-validated, and relative paths resolve against the config file's directory. With no config file the CLI starts from { cwd } — but the TUI and headless modes refuse to run without a usable provider.

{
  "userId": "local",
  "model": { "provider": "anthropic", "model": "claude-sonnet-4-5" },
  "credentialRef": "ANTHROPIC_API_KEY",
  "tools": {
    "planes": { "coding": true, "git": true },
    "exclude": ["shell"],
    "add": ["./my-tools.mjs#lintTool"]
  },
  "skills": { "dirs": [".agents/skills"] },
  "instructions": { "agentsMd": true },
  "mcp": {
    "servers": [{ "serverId": "web", "command": "bunx", "args": ["@mcp/web"], "allow": "stdio" }],
    "allow": ["stdio"]
  },
  "web": { "mode": "obscura" },
  "wiki": { "enabled": false },
  "observationalMemory": { "enabled": false },
  "store": { "type": "sqlite" }
}

Key surfaces:

  • Sessions — one durable SQLite database at ~/.prism/sessions/sessions.db by default (scoped by canonical git root); /new, /resume, /rename, --session, --continue, and --resume resume with titled, faithfully replayed history. store.path overrides the location; the in-memory store disables resumption.
  • Tools — 9 core coding tools default on; 7 git tools, ask_user_decision, and coding_check are opt-in; replace/exclude/add customize the set. See the tool inventory.
  • Provider/model/effort — /provider runs API-key, OAuth, ambient, or host-setup onboarding; /model does live discovery with static fallback; Shift+Tab cycles the model's declared reasoning levels.
  • Compaction — /compact runs the coding LLM summarization strategy (one provider call by default).
  • Observational memory — /om toggles per session (default off), /om-model selects the independent worker model, /om:status and /om:view inspect it.
  • Web — obscura (default, host-installed binary), brave (search + optional Firecrawl fetch), or off; missing backends omit tools and report a setup note instead of failing silently.
  • Wiki — four slash commands (/wiki-init, /wiki-refresh, /wiki-lint, /wiki-ingest) plus search/read/insight tools; skill auto-deploy is opt-in.

CLI flags: -p/--prompt, -m/--mode tui|print|json|acp, -c/--config, --session, --model, --provider, --no-agents-md, --no-system-md.

Security notes

  • Credentials resolve at the provider edge from credentialRef/environment or the private credential store; secret prompts are masked and never echo into stream history.
  • MCP servers register only when trusted and when their destination matches the mcp.allow allow-list (origin plus path-segment subtree for HTTP/SSE, explicit stdio marker); the unstable acp transport is never bridged. Project-declared servers require a one-time per-repo trust approval (recorded in ~/.prism/trust.json) unless --trust-project-mcp is passed; header values resolve ${env:…}/${credential:…} references at connect time and literal secret headers are global-config only.
  • The TUI approval prompt denies by default when unavailable or timed out; web and wiki content stays untrusted data.
  • Wiki URL ingest runs an SSRF check and fails closed when no web fetch backend exists; wiki skill deploy requires the explicit wiki.autoDeploySkills opt-in.

Full reference: docs/prism-code.md.

Requirements

  • Bun >=1.4.2 (OpenTUI native package).
  • Self-contained install: as an app, Prism Code declares @arnilo/prism, @arnilo/prism-providers, and every other runtime package as regular dependencies. The optional @ai-sdk/provider peer of @arnilo/prism-providers is only for the /ai-sdk adapter, which Prism Code does not load.