Metadata-Version: 2.4
Name: waymark-memory
Version: 0.3.0
Summary: A local-first terminal companion for personal memory, reflection, and decisions.
Project-URL: Homepage, https://shusingh.github.io/waymark/
Project-URL: Documentation, https://shusingh.github.io/waymark/
Project-URL: Repository, https://github.com/shusingh/waymark
Project-URL: Issues, https://github.com/shusingh/waymark/issues
Author: Waymark Contributors
License: MIT
License-File: LICENSE
Keywords: local-first,memory,notes,reflection,sqlite,terminal
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Text Processing
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Requires-Dist: platformdirs>=4.2
Requires-Dist: rich>=13.7
Requires-Dist: textual>=0.80
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pypdf>=4.0; extra == 'dev'
Requires-Dist: pytest>=8.2; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Requires-Dist: twine>=5.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
Requires-Dist: mkdocs-typer2[mkdocs]>=0.1; extra == 'docs'
Requires-Dist: mkdocs>=1.6; extra == 'docs'
Provides-Extra: pdf
Requires-Dist: pypdf>=4.0; extra == 'pdf'
Description-Content-Type: text/markdown

# Waymark

Waymark is a local-first terminal companion for capturing personal memories,
tracking decisions, reflecting on patterns, and asking grounded questions about
your life over time.

```text
capture messy thought -> structure memory card -> store locally -> retrieve with sources -> reflect over time
```

Full documentation lives at **https://shusingh.github.io/waymark/**.
The PyPI package name is **`waymark-memory`**; the installed command remains
**`waymark`**.
The complete CLI reference is generated from the Typer app, so use the docs site
instead of hand-maintained command lists.

## What Works

- Guided Textual interface for today, capture, ask, timeline, memory detail,
  reflection, decisions, import, export, backup, and doctor checks.
- Local SQLite storage with source citations, saved reflections, linked
  decisions, local backups, and portable bundles.
- Explicit imports for Markdown, text, PDF text layers, DOCX paragraphs, and
  bounded preview-first folder batches.
- Optional local AI through Ollama for memory structuring and semantic retrieval.

## Install

Recommended install:

```bash
pipx install waymark-memory
waymark --version
```

Current GitHub Release:

```bash
python -m pip install https://github.com/shusingh/waymark/releases/download/v0.3.0/waymark_memory-0.3.0-py3-none-any.whl
waymark --version
```

Platform-specific commands are in
[Installation & Updates](docs/guides/installation.md).

From source on Windows PowerShell:

```powershell
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev,docs,pdf]"
```

From source on macOS/Linux:

```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev,docs,pdf]"
```

## First Minute

```bash
waymark
waymark today
waymark capture --type project "Shipped the first import flow today."
waymark timeline
waymark ask "import flow"
waymark reflect --period week
```

Start with [Getting Started](docs/getting-started.md), or open the live
[CLI reference](https://shusingh.github.io/waymark/reference/cli/).

## Development

Runtime data defaults to `~/.waymark`. For local development, keep test data out
of your real profile:

```powershell
$env:WAYMARK_HOME = "D:\Code\waymark\.waymark-local\runtime"
```

Before committing code changes:

```bash
ruff check .
mypy src
pytest -q
mkdocs build --strict
python -m build
python -m twine check dist/*
```

CI and release jobs also run a fresh wheel install smoke test:

```bash
python -m venv .wheel-smoke
. .wheel-smoke/bin/activate
python -m pip install dist/*.whl
waymark --version
```

## Product Guardrails

- Local-first by default.
- Manual capture works without AI models.
- AI-generated summaries, tags, and reflections require user confirmation.
- Answers must cite saved memories or imported sources.
- No large model downloads, file scans, OCR, or indexing jobs without explicit
  approval.
