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

sajicode

v2.0.0

Published

Autonomous engineering organism — contract-first multi-agent team, 24/7 daemon, persistent memory, git-native safety, Guardian Swarm, MCP + A2A.

Readme


Install

npm install -g sajicode
cd your-project
sajicode

Or without a global install:

npx sajicode

Describe a task. The team plans, contracts, builds in parallel, verifies, and updates project memory.

Build a REST API for a task manager — Express, TypeScript, SQLite.
Add Zod validation, tests, security audit, Dockerfile, and CI.

Headless / CI:

sajicode build "Fix the failing auth tests and open a PR" --headless
sajicode fix-ci

Always-on:

sajicode daemon start
sajicode task add "Run standup and fix any red CI"

What SajiCode is

SajiCode is not a chat wrapper around one model.

It is an autonomous engineering system: a PM orchestrator, specialist leads with enforced territories, durable memory, git-native safety, a 24/7 daemon, and a defensive Guardian swarm — running on your machine, models, and infrastructure.

You  →  PM (research → plan → debate → decide)
           ↓  Phase 0 contracts (locked)
     Backend · Frontend · QA · Security · Deploy · …
           ↓  verify → ship → learn
     PROJECT.dna · skills · code graph · incident graph

| Layer | What it does | |:--|:--| | Team | PM + 17 specialists — parallel, contract-first, territory-guarded | | Memory | PROJECT.dna, semantic memory, experience replay, skill promotion | | Context | Tree-sitter code graph + PageRank retrieval (query structure, don't stuff tokens) | | Autonomy | Daemon, heartbeat, durable task queue, sleep-time consolidation | | Safety | Git revert per agent, pre-write scans, HITL, policy, audit log | | Defense | Guardian Swarm — tiered SOC response + incident knowledge graph | | Interop | MCP tools, A2A agent card, plugins, personas, WhatsApp |

Runs local / air-gapped (Ollama), cloud providers, CI, or serverless backends (Docker / Modal / Daytona).


Capabilities

Build like a real team

  • Dependency-aware task graph — independent leads run in parallel
  • Phase 0 contracts — APIs, types, and file ownership locked before code
  • Multi-file batch writes with snapshot rollback
  • Verification ladder — typecheck → tests → smoke → optional E2E
  • Research → debate → ADR for architecture judgment calls
  • fix-ci — pull the failed CI log and attempt a headless fix

Remember and improve

  • PROJECT.dna — architecture, decisions, unfinished work across sessions
  • Three-layer memory + semantic search
  • Experience replay — failures and wins injected into similar future work
  • Skill promotion — lessons distilled into portable SKILL.md files
  • Nightly memory consolidation via heartbeat

Understand large codebases

  • Tree-sitter AST code graph (TypeScript, JavaScript, Python, Go)
  • PageRank-ranked retrieval into .sajicode/codegraph.json
  • Optional prompt compression (config-gated)

Stay safe

  • Pre-write secret / injection scans
  • Shell risk scoring + human-in-the-loop approvals
  • PM blocked from writing implementation files
  • Session branches + sajicode revert / undo / snapshots
  • Usage & cost tracking from LangChain usage_metadata

Run 24/7

sajicode daemon start              # serve + heartbeat + task queue
sajicode daemon status
sajicode daemon deploy --backend docker   # or modal | daytona
sajicode serve                     # HTTP + channels + A2A card

Heartbeat evaluates .sajicode/HEARTBEAT.md (CI, deps, unfinished work) without you prompting.

Defend infrastructure

sajicode guardian scan
sajicode guardian incidents

Tiered response with consensus-gated containment. Security-officer persona available.

Connect to the ecosystem

  • MCP — attach databases, APIs, business tools (.sajicode/mcp.json)
  • A2A — publish /.well-known/agent.json; other agents can call build / audit / guardian
  • Plugins & skills — extend without forking
  • Personas — SOUL.md-style identity; business MCP templates (Shopify / Stripe / Gmail)
  • WhatsApp — send tasks from your phone

The team

A PM coordinates specialists. Each lead owns a territory and is blocked from writing outside it.

| Agent | Owns | Focus | |:--|:--|:--| | PM | Plans only | Task graph, contracts, context, memory | | Backend Lead | src/api/, src/services/, src/db/ | REST, GraphQL, auth, databases | | Frontend Lead | src/components/, src/pages/, src/app/ | React, Next.js, design systems | | Full-Stack Lead | src/features/ | End-to-end feature slices | | Mobile Lead | app/, src/screens/ | React Native, Expo | | Data & AI Lead | src/ai/, src/ml/, *.py | RAG, LangGraph, vector DBs | | Platform Lead | src/cli/, src/mcp/, packages/ | CLIs, MCP servers, SDKs | | Research Lead | Read-only | Cited research, comparisons, ADRs | | QA Lead | tests/, *.test.ts | Unit, integration, E2E | | Security Lead | Whole codebase (audit) | OWASP, secrets, auth hardening | | Deploy Lead | Dockerfile, .github/, k8s/ | Docker, CI/CD, infra | | Review Agent | Whole codebase (gate) | Completeness, types, architecture |

Plus domain specialists: Next.js, Python API, AI/RAG, MCP, 3D web, performance.

Contract-first (medium/large tasks):

  1. Agents declare APIs, types, and files they will touch
  2. PM rejects file-write conflicts and locks the registry
  3. Leads implement in parallel against frozen contracts

CLI

No arguments → interactive REPL. Subcommands → CLI mode.

sajicode --help
sajicode --version

Core

| Command | Description | |:--|:--| | sajicode | Interactive REPL | | sajicode build [prompt] | One-shot team run | | sajicode init | Initialize project context | | sajicode status | Team status | | sajicode standup | Daily briefing | | sajicode resume | Resume from LangGraph checkpoint | | sajicode config / config-doctor | Configure & validate |

Safety

| Command | Description | |:--|:--| | sajicode revert | Revert session (or --agent <name>) | | sajicode undo [file] | Restore from snapshot | | sajicode snapshots | List snapshots | | sajicode audit | Security agent pass |

Autonomy & ops

| Command | Description | |:--|:--| | sajicode daemon start\|stop\|status\|deploy\|install | Always-on organism | | sajicode task add\|list\|cancel | Durable task queue | | sajicode serve | HTTP server + channels + A2A | | sajicode guardian scan\|incidents | Defensive SOC | | sajicode fix-ci | CI failure → headless fix | | sajicode eval | Eval harness | | sajicode sbom / costs | SBOM & usage costs |

Extensibility

| Command | Description | |:--|:--| | sajicode skill … | List / new / add / lint skills | | sajicode mcp … | Manage MCP servers | | sajicode plugin … | Plugins | | sajicode persona … | Personas & business MCP templates |

REPL slash commands

/init · /status · /help · /clear · /exit


Session flow

Every session starts the same way:

session state → memory index → PROJECT.dna → standup → stack patterns
→ classify → plan → (Phase 0 contracts) → parallel dispatch → verify → update DNA

Git isolation is automatic: session branch, before-tag, per-agent commits. One command reverts everything — or one agent.


Configuration

Project settings live in .sajicode/config.json.

Providers

sajicode -p anthropic -m claude-sonnet-4-6
sajicode -p openai -m gpt-4.1
sajicode -p google -m gemini-2.5-flash
sajicode -p ollama -m llama3.1:70b        # local / air-gapped
sajicode -p openrouter -m anthropic/claude-sonnet-4
ANTHROPIC_API_KEY=...
OPENAI_API_KEY=...
GOOGLE_API_KEY=...
TAVILY_API_KEY=...          # optional web search

Human-in-the-loop

{
  "humanInTheLoop": {
    "enabled": true,
    "tools": {
      "execute": { "allowedDecisions": ["approve", "edit", "reject"] }
    },
    "allowedCommands": ["npm run", "node ", "npx tsc"]
  }
}

Useful keys

| Key | Purpose | |:--|:--| | modelConfig | Provider, model, routing tiers | | riskTolerance | low / medium / high shell strictness | | budget | Per-session cost cap | | compression | Prompt compression | | a2a / guardian | Interop & SOC settings | | asyncSubagents | Background lead dispatch |

Validate anytime:

sajicode config-doctor

Project layout

After init / first session:

your-project/
├── SAJICODE.md                 # generated project context
├── PROJECT.dna                 # persistent team brain
├── HEARTBEAT.md                # daemon checklist (optional)
└── .sajicode/
    ├── config.json
    ├── mcp.json
    ├── persona.md
    ├── codegraph.json          # tree-sitter knowledge graph
    ├── contracts.json
    ├── patterns.json
    ├── experiences.json
    ├── checkpoints.db          # durable LangGraph state
    ├── snapshots/
    └── transcripts/

Skills & plugins

23+ bundled skills (Agent Skills standard) — loaded on demand:

nodejs · nextjs · frontend-design · database · api-architect · testing · security · devops · ai-engineer · mobile-app · mcp-server · …

sajicode skill list
sajicode skill new my-domain
sajicode plugin search

Why SajiCode

| | Typical coding agent | SajiCode | |:--|:--|:--| | Shape | One agent loop | Contract-first parallel team | | Memory | Resets each chat | DNA + skills + semantic + consolidation | | Mistakes | Hard to undo | Git revert per agent / session | | Big repos | Stuff more context | Code graph + ranked retrieval | | Always-on | Only when you type | Daemon + heartbeat + task queue | | Defense | — | Guardian Swarm | | Interop | Closed or MCP-only | MCP + A2A + plugins | | Where it runs | Vendor cloud | Your machine, CI, serverless, air-gapped |

MIT-licensed. npm-published. Built to be the harness — not another chatbot.

Full feature & tool reference: SajiCode_features.md.


Develop

git clone https://github.com/RaheesAhmed/SajiCode.git
cd SajiCode
npm install
npm run build
npm test
node dist/index.js
src/
├── agents/      # PM, leads, task graph, guardrails, debate
├── a2a/         # Agent-to-Agent server + client
├── guardian/    # SOC swarm & incidents
├── daemon/      # heartbeat, deploy backends, service install
├── context/     # tree-sitter code graph, compression
├── persona/     # identity packs
├── tasks/       # durable queue
├── memory/      # DNA, semantic memory, consolidation
├── tools/       # contracts, git session, verification, browser
├── channels/    # terminal, WhatsApp
├── cli/         # Commander CLI + renderer
└── server/      # HTTP serve + A2A mount

| Script | Action | |:--|:--| | npm run build | Compile → dist/ | | npm run dev | Run from source | | npm test | Vitest | | npm run eval | Eval harness |


License

LICENSE MIT © Rahees Ahmed