Metadata-Version: 2.4
Name: clinotes
Version: 0.1.0
Summary: Pyramid memory for LLM-driven CLIs. Git-native, MCP-ready.
Project-URL: Homepage, https://github.com/karthyick/clinotes
Project-URL: Repository, https://github.com/karthyick/clinotes
Author-email: Karthick Raja M <Karthickrajam18@gmail.com>
License: MIT
License-File: LICENSE
Keywords: agent,cli,llm,mcp,memory
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: fastmcp>=3.0
Requires-Dist: pydantic>=2
Requires-Dist: python-frontmatter>=1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: black; extra == 'dev'
Requires-Dist: build; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Description-Content-Type: text/markdown

# clinotes

> Pyramid memory for LLM-driven CLIs. Git-native, MCP-ready.
>
> [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## What it is

clinotes is project memory that lives in your repo. It stores decisions and learnings as plain Markdown with YAML frontmatter inside a `.clinotes/` directory. Because the format is text-first and git-native, any LLM can recall it cheaply without hallucinating your stack.

## Why

LLMs forget between sessions. Inline code comments rot. Wikis live outside the repo. clinotes gives your agent a structured, versioned memory layer it can read in ~200 tokens and expand only when needed.

## Install

```bash
pip install clinotes
```

## Quickstart

```bash
clinotes init          # scaffold .clinotes/
clinotes ls            # show the index (L0)
clinotes show d1       # show a detail (L2)
```

## MCP Setup

Add clinotes to your editor so the LLM can recall and record project memory.

**Claude Code:**
```bash
claude mcp add clinotes -- uvx clinotes-mcp
```

**Cursor** (`.cursor/mcp.json`):
```json
{
  "mcpServers": {
    "clinotes": {
      "command": "uvx",
      "args": ["clinotes-mcp"]
    }
  }
}
```

## Python API

```python
from clinotes import note_decision, recall_index, recall_detail

# Record a decision
note_decision(
    title="postgres over mysql",
    why="client DBA only supports pg",
    alternatives=["mysql", "sqlite"],
    refs=["infra/db.py"]
)

# Recall
print(recall_index())          # L0 — cheap survey
print(recall_detail("d1"))     # L2 — full detail
```

## Format

The on-disk layout, ID scheme, and frontmatter specification are defined in [SPEC.md](SPEC.md).
