Metadata-Version: 2.4
Name: nodestone
Version: 0.2.5
Summary: Project cognition and continuity system — your project remembers itself
Author: massiron
License: Proprietary
Project-URL: Homepage, https://massiron.com
Keywords: massiron,project-cognition,continuity,graph
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: massiron>=1.0
Requires-Dist: click>=8.1
Requires-Dist: rich>=13.0
Requires-Dist: pydantic>=2.0
Requires-Dist: networkx>=3.0
Requires-Dist: watchfiles>=0.20
Requires-Dist: httpx>=0.25
Requires-Dist: jinja2>=3.1
Requires-Dist: pyvis>=0.3
Requires-Dist: pygit2>=1.14
Requires-Dist: tree-sitter>=0.22
Requires-Dist: fastapi>=0.100
Requires-Dist: uvicorn>=0.20
Requires-Dist: tomli>=2.0; python_version < "3.11"
Requires-Dist: tomli-w>=1.0
Dynamic: license-file

# nodestone

**Project memory for AI sessions.** nodestone remembers your project across
sessions — decisions, tasks, drift, and context — so an LLM doesn't have to
re-learn it from scratch every time. A [massiron.com](https://massiron.com) product.

It's an event-sourced cognition store: everything lives on disk and comes back
instantly, for ~0 tokens. Pair it with any AI tool (Claude Code, Cursor,
OpenCode) over MCP, and your assistant resumes work where it left off.

---

## Install

```bash
pip install nodestone
```

## Start in 30 seconds

```bash
cd your-project
nodestone init                 # create the cognition store (.nodestone/)
nodestone status               # where things stand
nodestone ask "what's next?"   # ask the project, don't re-read it
```

Record what matters as you go:

```bash
nodestone decide "Use SQLite for the event store" -r "zero-config, embedded"
nodestone task "Wire up the MCP stdio server"
nodestone context compressed   # ~500-token AI-ready snapshot for any LLM
```

## Connect it to your AI (MCP)

nodestone speaks MCP over **stdio** by default — the transport Claude Code,
Cursor, and OpenCode launch directly. One command registers it:

```bash
claude mcp add nodestone -- nodestone mcp
```

Restart Claude Code once. Now your assistant can call nodestone natively:
`restore_context()` to resume a project, `record_decision(...)` to remember a
choice, `check_drift()` to catch scope creep, `fingerprint_handoff()` to hand
the project to another agent.

Prefer HTTP (browser dashboards, LAN)? `nodestone mcp --http --host 0.0.0.0 --port 18766`.

## Self-introduce to every AI editor

```bash
nodestone inject all
```

Writes a short nodestone block into CLAUDE.md, AGENTS.md, .cursorrules, and
friends, and registers the MCP server in `~/.claude.json` and `opencode.json`.
Idempotent — re-run any time. Remove with `nodestone inject all --remove`.

---

## The massiron family

nodestone is one of four local tools that compose:

- **nodestone** — project context memory across sessions (this tool)
- **atlas** — deterministic code intelligence (call graph, risk, dead code), 0 LLM tokens
- **deepstrain** — autonomous engineering agent, a cheap fast executor
- **adauto** — developer-marketing automation, ethics-filtered + human-approved

Each works standalone and introduces the others when installed.
