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

archnode

v0.16.0

Published

The agentic software engineering workspace that connects thinking, documentation, and implementation

Readme

archnode

CLI for the ArchNode Integration API — create and manage ADRs, RFCs, diagrams, sandbox prototypes, circuit diagrams, mock servers, and other architecture documents from your terminal or AI agent.

Requirements

  • ArchNode desktop app must be running
  • Settings → Integration API must be enabled

Installation

npm install -g archnode

Usage

archnode <command> [subcommand] [options]

Health

archnode health

Documents

# List documents (optionally filtered by type or search query)
archnode doc list [--type TYPE] [--q QUERY]

# Get a document by ID (returns full content as JSON)
archnode doc get <id>

# Create a document
archnode doc create --title "My ADR" --type adr
archnode doc create --title "My RFC" --type rfc --content-file ./rfc.md --folder "RFCs" --tags api,auth

# Update a document
archnode doc update <id> --title "New Title"
archnode doc update <id> --content-file ./updated.md --tags v2,breaking

# Delete a document
archnode doc delete <id>

Document types: adr | rfc | migration | system-design | general | agentic-skills

Folders

archnode folder list [--type TYPE]

Templates

# Print the agentic-skill document template
archnode template get agentic-skill

Diagrams

# List diagrams
archnode diagram list [--folder PATH] [--q QUERY]

# Get a diagram by ID (returns full elements as JSON)
archnode diagram get <id>

# Create a diagram
archnode diagram create --title "System Overview" [--elements-file elements.json] [--folder PATH]

# Update a diagram
archnode diagram update <id> [--title "New Title"] [--elements-file elements.json]

# Delete a diagram
archnode diagram delete <id>

Sandbox

Push code live into the ArchNode Sandbox view. Supports vanilla HTML/CSS/JS, Vue SFCs, and React JSX.

# Get last pushed sandbox state
archnode sandbox get

# Push a vanilla prototype
archnode sandbox push --mode vanilla --html "<h1>Hello</h1>" --css "body{background:#090909}" --js "console.log('ready')"
archnode sandbox push --mode vanilla --html-file ./index.html --css-file ./style.css --js-file ./app.js

# Push a Vue SFC
archnode sandbox push --mode vue --sfc-file ./Component.vue

# Push a React component
archnode sandbox push --mode react --jsx-file ./App.jsx --rcss-file ./app.css

Circuit

Push a frontend state architecture diagram live into the ArchNode Circuit view.

# Get last pushed circuit diagram
archnode circuit get

# Push a circuit diagram from a JSON file
archnode circuit push --file ./circuit.json
archnode circuit push --name "Auth Flow" --file ./circuit.json

Circuit JSON format:

{
  "name": "Auth Flow",
  "nodes": [
    { "type": "store", "label": "useAuthStore" },
    { "type": "component", "label": "LoginPage" },
    { "type": "derived", "label": "isAuthenticated" }
  ],
  "edges": [
    { "sourceLabel": "LoginPage", "targetLabel": "useAuthStore", "type": "action" },
    { "sourceLabel": "useAuthStore", "targetLabel": "isAuthenticated", "type": "derived" }
  ]
}

Node types: store | component | derived Edge types: action | read | derived

Mock Server

The Mock Server has no dedicated CLI commands. Use curl directly against the HTTP API:

# Check running status
curl http://127.0.0.1:3847/api/mock-server/status

# List routes
curl http://127.0.0.1:3847/api/mock-server/routes

# Add routes
curl -X POST http://127.0.0.1:3847/api/mock-server/routes \
  -H "Content-Type: application/json" \
  -d '[{"method":"GET","path":"/api/users","statusCode":200,"body":"{\"users\":[]}"}]'

Options

| Flag | Description | |---|---| | --type TYPE | Filter by document type | | --q QUERY | Search query | | --title TEXT | Document or diagram title | | --content TEXT | Inline content (markdown) | | --content-file PATH | Read content from a file | | --folder PATH | Target folder path | | --tags tag1,tag2 | Comma-separated tags | | --elements-file PATH | JSON file with diagram elements | | --mode vanilla\|vue\|react | Sandbox mode | | --html TEXT | Inline HTML for vanilla sandbox | | --css TEXT | Inline CSS for vanilla sandbox | | --js TEXT | Inline JS for vanilla sandbox | | --html-file PATH | HTML file for vanilla sandbox | | --css-file PATH | CSS file for vanilla sandbox | | --js-file PATH | JS file for vanilla sandbox | | --sfc TEXT | Inline Vue SFC string | | --sfc-file PATH | Vue SFC file | | --jsx-file PATH | React JSX file | | --rcss-file PATH | React CSS file | | --file PATH | JSON file for circuit diagram | | --name TEXT | Circuit diagram name |

Environment

| Variable | Default | Description | |---|---|---| | ARCHNODE_API_PORT | 3847 | Override the Integration API port |

Using with Claude Code

ArchNode's Integration API is natively supported in Claude Code via CLAUDE.md. Once the API is enabled, Claude can create and update architecture documents, diagrams, sandbox prototypes, circuit diagrams, and mock server routes directly — no CLI needed.

The CLI is useful for shell scripts, CI pipelines, or any context where you want programmatic access to your ArchNode workspace.

Contact

Questions or feedback: [email protected]