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

null0

v0.1.1

Published

Your AI clone - personal context for AI agents

Readme

null0

Your AI clone — personal context that travels with you.

null0 is a CLI tool that builds a persistent memory of who you are and injects it into any AI agent you work with. It learns your persona, skills, preferences, and decision-making patterns, then makes that context available everywhere: in chat, in code agents, via clipboard, or through MCP.


Quick Start

Install via curl:

curl -fsSL https://null0.ai/install.sh | bash

Or install via npm:

npm install -g null0

Or install via Homebrew (macOS):

brew tap null0-ai/null0
brew install null0

Then set up and use:

null0 init          # Set up your profile (takes ~2 minutes)
null0               # Launch chat (auto-runs null0 chat if initialized)
null0 remember "I prefer TypeScript over JavaScript"  # Teach null0 something new
null0 visualize     # Open an interactive mind map of your context

Enable verbose error logging:

NULL0_DEBUG=true null0 chat

What null0 Does

| Feature | Description | |---|---| | Personal Context | Stores your persona, skills, preferences, hobbies, tone, and memories in structured markdown files | | Smart Memory | Auto-categorizes what you tell it into the right context file using AI | | Knowledge Graph | Backs your memory with Cognee — a semantic knowledge graph that improves search over time | | Tone Analysis | Learns your writing style so AI responses match how you actually communicate | | Decision Support | Gives personalized advice based on your values and past decisions | | Clone Mode | Makes the AI respond as you, using your full context | | Mind Map | /visualize generates a draggable, interactive graph of everything the AI knows about you | | MCP | Exposes your context as a Model Context Protocol server | | Multi-Provider | Works with Claude, Codex, and Gemini out of the box |


Commands

CLI

null0 init              Interactive setup wizard
null0 chat              Start the chat REPL
null0 remember <text>   Add to memory (auto-categorized)
null0 forget <text>     Remove from memory (fuzzy match)
null0 visualize         Generate and open your context mind map
null0 inject            Output context for pasting into AI sessions
null0 inject -c         Copy context directly to clipboard
null0 status            Show current config
null0 security          Audit file permissions (--fix to repair)
null0 logout            Remove credentials
null0 uninstall         Completely remove null0 and all data

Chat Commands

/help                   Show available commands
/remember <text>        Save to memory (--project for project scope)
/forget <text>          Remove from memory
/train                  Analyze and learn your writing style
/decision <question>    Get advice based on your values
/safeguards <text>      Set boundaries the AI respects
/clone                  Enter AI clone mode
/exit                   Exit clone mode
/projects               Manage projects
/model <name>           Switch AI model
/theme <name>           Change terminal theme
/chats                  Browse saved conversations

How Context Works

null0 stores everything in ~/.null0/:

~/.null0/
├── persona.md          Who you are
├── skills.md           What you know
├── preferences.md      How you like things done
├── hobbies.md          What interests you
├── tone.md             Your writing style (generated by /train)
├── safeguards.md       Boundaries and values
├── decisions.md        Decision-making patterns
├── knowledge/
│   └── global.md       General memories
├── mindmap.json        Last generated mind map graph
├── mindmap.html        Interactive mind map viewer
├── config.json         Provider and model config
└── .cognee/            Cognee knowledge graph data

When you add a memory, null0 uses AI to categorize it into the right file. The Cognee knowledge graph runs in the background, building semantic relationships between everything you've taught it.


The Mind Map

null0 visualize reads all your context, generates a node graph using AI, and opens it in the browser:

  • Drag nodes to rearrange
  • Scroll to zoom in and out
  • Click and drag the background to pan
  • Hover any node for details
  • Color-coded: purple = you, blue = categories, gray = details, green = cross-cutting themes

The graph is only regenerated when you explicitly run visualize — not on every memory update — so it stays fast.


Cognee & Memory

null0 uses Cognee as a semantic knowledge graph layer on top of your context files:

  • cognify — Builds a knowledge graph from your stored text
  • memify — Adds memory algorithms to improve recall
  • search — Finds relevant memories semantically when building context for a prompt

The bridge runs as a Python subprocess with Gemini embeddings (768-dim). It updates in the background after new memories are added, debounced at 30 seconds.


Authentication

null0 stores credentials in your system keychain — nothing is written to disk in plaintext.

| Provider | Method | |---|---| | Claude | OAuth via claude CLI (setup-token) | | Codex | Browser-based OAuth via codex CLI | | Gemini | API key (entered during init) |


Architecture

src/
├── auth/               Credential storage and OAuth flows
├── chat/               Streaming chat provider (Claude, Codex, Gemini)
├── commands/           CLI command implementations
│   ├── chat.ts         Chat REPL entry
│   ├── init.ts         Setup wizard
│   ├── remember.ts     Memory addition
│   ├── forget.ts       Memory removal
│   ├── visualize.ts    Mind map generation and rendering
│   ├── code-orchestrator.ts  Iterative code execution
│   └── ...
├── memory/             Context management
│   ├── memory.ts       Add/remove/search memories
│   ├── cognee.ts       Cognee Python bridge
│   ├── ai-context.ts   AI-powered categorization and optimization
│   ├── inject.ts       Context assembly for prompts
│   └── tone-analyzer.ts  Writing style analysis
├── storage/            File I/O, config, audit logging
├── ui/                 Ink-based terminal UI components
├── mcp/                Model Context Protocol server
└── index.ts            CLI entry point (Commander)

Stack: TypeScript, ESM, Commander.js, Ink (React for terminal), Vitest, tsup.


Development

git clone https://github.com/null0-ai/null0-cli.git
cd null0-cli
npm install
npm run build           # Build
npm run dev             # Watch mode
npm test                # Run tests
npm link                # Make `null0` available locally

Tests live in src/**/__tests__/*.test.ts. Use Vitest conventions. Always use .js extensions in imports (NodeNext resolution).


Contributing

Contributions are welcome. Read CONTRIBUTING.md for the full guide. The short version:

  1. Open an issue or discussion first
  2. Fork, branch, implement, test
  3. Commit with Conventional Commits (feat:, fix:, docs:, etc.)
  4. Submit a PR

For new commands: add to src/commands/, export from src/commands/index.ts, register in src/index.ts.


Security

  • All credentials stored in system keychain via keytar
  • Context files created with 0600 permissions
  • Run null0 security to audit, null0 security --fix to repair
  • No background processes persist after exit
  • No PII in the open source code

License

MIT — see LICENSE.