Metadata-Version: 2.5
Name: devmemory-cli
Version: 0.1.0.dev2
Summary: Development-memory and version-intelligence for AI-assisted software development
Project-URL: Documentation, https://github.com/KYadavPR/devmemory
Project-URL: Source, https://github.com/KYadavPR/devmemory
Author: DevMemory contributors
License-Expression: MIT
License-File: LICENSE
Keywords: ai,checkpoint,databricks,development-memory,entire,git,mcp,version-intelligence
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.11
Requires-Dist: fastapi>=0.111
Requires-Dist: jinja2>=3.1
Requires-Dist: platformdirs>=4.2
Requires-Dist: pydantic>=2.7
Requires-Dist: python-dotenv>=1.0
Requires-Dist: rich>=13.7
Requires-Dist: structlog>=24.1
Requires-Dist: typer>=0.12
Requires-Dist: uvicorn[standard]>=0.30
Provides-Extra: all
Requires-Dist: devmemory[databricks,llm,mcp]; extra == 'all'
Provides-Extra: databricks
Requires-Dist: databricks-sdk>=0.30; extra == 'databricks'
Provides-Extra: dev
Requires-Dist: devmemory[databricks,llm,mcp]; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest-xdist>=3.6; extra == 'dev'
Requires-Dist: pytest>=8.2; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Provides-Extra: llm
Requires-Dist: anthropic>=0.40; extra == 'llm'
Requires-Dist: google-genai>=0.3; extra == 'llm'
Requires-Dist: openai>=1.40; extra == 'llm'
Provides-Extra: mcp
Requires-Dist: fastmcp>=2.3; extra == 'mcp'
Description-Content-Type: text/markdown

<h1 align="center">DevMemory</h1>

<p align="center">
  <em>Development-memory and version-intelligence for AI-assisted software development.</em>
</p>

<p align="center">
  <strong>Git remembers <em>what</em> changed. Entire remembers the AI-assisted development <em>context</em>.
  DevMemory connects those changes with results, metrics, feature status and previous
  attempts — so developers and future AI agents can understand the complete development
  history, and avoid repeating past mistakes.</strong>
</p>

---

DevMemory turns each meaningful AI-assisted change into a **Development Version**: one
durable record that joins the Entire checkpoint (the prompt, agent, and session), the Git
commit (the exact diff), the results (tests, metrics, regressions), an analysis layer
(kept strictly separate from the facts), and cross-version analytics.

It is consumed two ways — a **visual dashboard** for humans, and an **MCP server + REST
context API** for the next AI agent.

DevMemory sits *beside* your existing tools. It is **not** an IDE, a version-control
system, or an experiment tracker. You keep using VS Code, Cursor, Claude Code, the
terminal, and CI exactly as before.

```text
        developer / AI intent
                 │
          AI coding agent            ← you keep your editor & agent
                 │
          Entire checkpoint          ← why / who / how  (github.com/entireio/cli)
                 │
            Git commit               ← what changed, exactly
                 │
       tests · metrics · results     ← the outcome
                 │
       Development Version  ← DevMemory: the join
                 │
     ┌───────────┴───────────┐
 dashboard                 MCP / API
 (a human understands)     (the next agent understands)
```

## Quickstart

```bash
python -m venv .venv
# Windows:  .venv\Scripts\activate     POSIX:  source .venv/bin/activate
pip install -e ".[dev]"          # or:  pip install devmemory

cd your-repo
devmemory init --name "My Project"
```

Then, after each meaningful AI-assisted commit:

```bash
devmemory checkpoint --intent "what you were trying to do"
```

DevMemory finds the Entire checkpoint for the commit (or records without one),
runs your configured tests and metrics, detects regressions against the previous
version, checks whether this area has failed before, generates an analysis
(kept separate from the facts), and stores one **Development Version**.

```bash
devmemory history                 # the timeline
devmemory show v7                 # one version, end to end
devmemory compare 6 7             # what changed + metric/test deltas
devmemory memory --file auth.py   # "has this area failed before?"
devmemory analyze v7              # interpretation (rules, or an LLM)
devmemory analytics               # regressions, feature attempts, file churn
devmemory serve                   # the dashboard
devmemory mcp --print-config      # wire the MCP server into Claude Code / Cursor
devmemory doctor                  # check the setup
```

**Try it now** with a seeded demo:

```bash
python examples/demo/seed.py /tmp/devmemory-demo && cd /tmp/devmemory-demo
devmemory serve
```

See [`DEMO.md`](DEMO.md) for the walk-through and
[`docs/CONFIGURATION.md`](docs/CONFIGURATION.md) for every setting. `devmemory
checkpoint` collects tests and metrics only once you point it at them — set
`tests.command` and `metrics.file` in `.devmemory/config.json`.

Credentials (LLM keys, Databricks) are read from the environment — `cp
.env.example .env` and fill in what you need; the CLI loads it automatically.

## What it is not

DevMemory sits *beside* your tools. It is not an IDE, a version-control system,
or an experiment tracker. It never sends source or transcripts anywhere unless
you configure it to, and an AI summary can never overwrite a Git, test, or metric
fact.

## Status

Built in vertical slices — see
[`CHANGELOG.md`](CHANGELOG.md) for what each phase added and
[`docs/IMPLEMENTATION_STRATEGY.md`](docs/IMPLEMENTATION_STRATEGY.md) for the
engineering audit and plan.

## Development

```bash
ruff check . && ruff format --check .
mypy
pytest -n auto
```

The dashboard is a Vite + React app in
[`src/devmemory/web/frontend/`](src/devmemory/web/frontend/); its built bundle is
committed to `src/devmemory/web/static/`, so `devmemory serve` never needs Node.
Rebuild it with `npm run build` in that directory (see its `README.md`).

## License

[MIT](LICENSE)
