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

@appling/ai

v0.1.3

Published

Appling for AI: MCP server, model adapter and the registry skill

Readme

@appling/ai

Appling for AI assistants: an MCP server over an Appling workspace, a provider agnostic model adapter for the IDE chat, and the skill that works through a generated project's task registry.

MCP server

appling-mcp [folder]                # stdio, for Claude Code, Claude Desktop or any MCP client
appling-mcp [folder] --http 4411    # Streamable HTTP on http://127.0.0.1:4411/mcp

For example in Claude Code: claude mcp add appling -- npx appling-mcp .

The server instructions tell the assistant that the model is the source of truth for business logic, so it asks the model before it searches the application code.

| Tool | Does | |---|---| | check | Validates the model and lists its errors | | graph_query | One element with its properties, members and references, or elements filtered by kind, module or name | | read_source | The Appling source of one element | | simulate | Behavior questions: reachable states, which actors may trigger an action, invariants at risk, or a run of an action on a sample record | | language_reference | The complete language documentation: the list of pages, or one page as Markdown | | write_model_file | Creates or replaces one .appling file, only when the workspace still validates with it | | edit | One edit operation (add, rename, retype, remove, set), validated, written to the files; dryRun only checks it | | registry_next | The next open task of a generated project, with its model context | | registry_update | Marks a task done, or partial with a note | | run_tests | Runs the generated project's tests | | code_references | Where an element and its members are implemented, by file and line range, with their status; without a name, every reference that is not current | | record_code_references | Records the line ranges that implement an element in .appling/references.json, each with its first line as the anchor |

The prompt implement_next_task carries the registry workflow.

Visualization window

Over stdio the server also drives a floating window (@appling/viz, Electron; macOS, Windows and Linux, through XWayland on Wayland). Ask Claude Code to show part of the model and the window opens at the top right of the main screen, above every other window.

| Tool | Does | |---|---| | visualize | Shows a node in the model tree, adding to the tree on screen so Claude can guide one node at a time, a flowchart of a machine or a usecase, or a card of an action or an event | | visual_bubble | Places a note on an element or member of the view, or a code example with its file and line | | visual_selection | The element selected in the window and the view on screen | | visual_reply | Answers a question typed into the window | | propose_edits | Shows edit operations as a proposal in the window and writes them only when accepted |

Every file and line in the window opens in your editor on click. Questions typed into the window reach the session as Claude Code channel messages. Channels are a research preview, so start Claude Code with claude --dangerously-load-development-channels server:appling.

Registry skill

skills/appling-registry/SKILL.md is an agent skill for working through .appling/tasks.json of a project made by appling generate: take the next open entry, implement what is missing, run the tests, record where it is implemented and the outcome. Entries stop coming back after three attempts, with notes on what is left. Copy the folder into your agent's skills folder (for Claude Code, .claude/skills/) next to the MCP server.

Reverse engineering skill

skills/appling-reverse/SKILL.md (also the MCP prompt derive_model) is an agent skill for deriving an Appling model from an existing application: survey the code, map it to the five layers (with rules for modeling access), write and validate module by module, record the code each element describes, compare behavior with simulate, and report what the model cannot say exactly.

Model adapter and chat

The IDE chat uses the AI SDK. The model is set in appling.config.json, the API key comes from the provider's environment variable (ANTHROPIC_API_KEY, OPENAI_API_KEY):

{ "ai": { "provider": "anthropic", "model": "claude-opus-5-5" } }

chat(root, messages, model) runs one turn with the model tools on a working copy. Edits are not written: the turn ends with a proposal (the operations, text hunks per file and the graph elements added, changed and removed) that the IDE shows for review.

License

MIT