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

kiro-mem

v1.0.0

Published

Persistent cross-session memory system for Kiro CLI. Auto-captures tool calls, compresses via LLM, and injects historical context.

Downloads

397

Readme

kiro-mem

Persistent memory system for Kiro CLI.

Kiro CLI only. Not compatible with Kiro IDE.

Quick StartHow It WorksMCP Search ToolsConfigurationCLILimitationsLicense


kiro-mem automatically captures prompts and tool-call history during Kiro sessions, compresses them into structured memories, and injects a compact memory index into later sessions. The agent scans the index first, then fetches details only when needed.

Key Features

  • 🧠 Persistent Memory — Keep project context across sessions
  • 🔍 Hybrid Search — FTS5 full-text search + local semantic reranking
  • 📊 Progressive Disclosure — Inject a small index first, fetch details on demand
  • 🔧 MCP Toolssearch, get_observations, timeline, pin
  • 🔒 Privacy Control — Use <private> tags to redact sensitive content before storage
  • 🚀 Async Processing — Background compression queue, no tool-call blocking
  • 🔄 Process Keepalive — Worker managed by launchd or systemd
  • 🌐 i18nzh and en for CLI and compression prompts

Quick Start

Requires Bun and Kiro CLI.

npm i -g kiro-mem
kiro-mem install

The installer will ask for language, model provider, model name, and API key, then register and start the Worker automatically.

Set As Default Agent

kiro-cli settings chat.defaultAgent kiro-mem

Or switch inside a chat session:

/agent kiro-mem

Verify Installation

kiro-mem diagnose
kiro-mem status
curl http://127.0.0.1:37778/health

How It Works

Core Components

  1. 4 Lifecycle HooksagentSpawn, userPromptSubmit, postToolUse, stop
  2. Worker Service — Bun HTTP server on port 37778 with async compression queue
  3. SQLite Database — Stores sessions, observations, summaries, and embeddings
  4. MCP Server — Exposes 4 retrieval tools over stdio
  5. Local Embeddingsall-MiniLM-L6-v2 for semantic reranking

At session start, kiro-mem injects a compact observation index. The agent can then use MCP tools to search history, inspect nearby context, and fetch full details only for relevant memories.

MCP Search Tools

kiro-mem follows a simple three-layer retrieval flow:

  1. Search the index with search
  2. Inspect local context with timeline
  3. Fetch full details with get_observations

pin marks important observations so they are prioritized in future context injection.

| Tool | Purpose | | --- | --- | | search | Hybrid search with type, days, and repo filters | | get_observations | Fetch full observation details by ID | | timeline | Show observations before and after a target item | | pin | Mark or unmark important memories |

@kiro-mem/search query="auth module bug" type="bugfix" limit=10
@kiro-mem/timeline observation_id=123 before=5 after=5
@kiro-mem/get_observations ids=[123,456]

Observation Types: decision | bugfix | feature | refactor | discovery | change

Privacy

Use <private> tags to redact sensitive content before storage:

<private>database password is xxx</private>
Help me configure the connection

Content inside <private> tags is replaced with [REDACTED] before it is written to memory.

Configuration

Edit ~/.kiro-mem/config.json, or run kiro-mem config for interactive setup:

{
  "language": "zh",
  "compression": {
    "provider": "openai",
    "model": "gpt-5.4",
    "apiKey": "sk-proj-xxx",
    "concurrency": 6
  },
  "context": {
    "maxObservations": 50,
    "maxSessions": 10,
    "fullCount": 5,
    "fullField": "narrative",
    "maxOutputBytes": 8192,
    "includePinned": true,
    "includeSummary": false
  },
  "filter": {
    "skipTools": ["introspect", "todo_list", "@kiro-mem/*"]
  }
}

Common Settings

  • language: zh or en
  • compression.provider: anthropic, openai, ollama, or custom
  • context.*: controls how much memory is injected on session start
  • includePinned: show pinned memories first

CLI

kiro-mem install
kiro-mem status
kiro-mem start
kiro-mem stop
kiro-mem config
kiro-mem config --show
kiro-mem diagnose
kiro-mem uninstall
kiro-mem uninstall --purge

System Requirements

  • Bun: Latest version
  • Kiro CLI: Must support hooks and agent system
  • macOS / Linux: Required for Worker keepalive via launchd / systemd

Limitations

| Limitation | Impact | Mitigation | | --- | --- | --- | | No session ID in hooks | Session matching is approximate | Inferred with cwd + 30-minute activity window | | agentSpawn output limit 10KB | Injected index must stay compact | Default settings usually stay well below the limit | | Search queries shorter than 3 chars | Falls back to LIKE, less precise | Use longer terms when possible | | First semantic-search use | Downloads local embedding model once | Cached locally after first use | | No Web Viewer UI yet | Memory can only be inspected through CLI/MCP/DB | Planned separately from the core memory flow | | Local only | No built-in cross-machine sync | Future: git sync or cloud storage |

License

MIT