Metadata-Version: 2.4
Name: missioncache-db
Version: 1.0.10
Summary: SQLite-based task and time tracking database for the MissionCache Claude Code plugin
Project-URL: Homepage, https://github.com/missioncache/missioncache
Project-URL: Repository, https://github.com/missioncache/missioncache
Project-URL: Issues, https://github.com/missioncache/missioncache/issues
Author-email: Tomer Brami <tomerbrami@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: claude-code,missioncache,sqlite,task-tracking,time-tracking
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# missioncache-db

SQLite-based task and time tracking database for the
[MissionCache](https://github.com/missioncache/missioncache) Claude Code plugin.

Provides cross-repo task tracking with WakaTime-style heartbeat time
aggregation. Used as the storage layer for the MissionCache MCP server, hooks,
CLI, and dashboard, but it's a standalone library and can be used on its
own.

## Install

```bash
pip install missioncache-db
```

## Use as a library

```python
from missioncache_db import TaskDB

db = TaskDB()            # defaults to ~/.missioncache/tasks.db, override via TaskDB(db_path=...)
repo_id = db.add_repo("/path/to/repo")
task = db.create_task(name="my-task", repo_id=repo_id)
db.record_heartbeat(task_id=task.id, directory="/path/to/repo")
```

## Use as a CLI

```bash
missioncache-db list-active
missioncache-db heartbeat-auto
missioncache-db task-time <task_id>
missioncache-db set-category <task_id> <category|none>
missioncache-db --help
```

## Storage

All state lives in a single SQLite database at `~/.missioncache/tasks.db`
(override by passing `db_path` to `TaskDB`). The database is WAL-mode,
auto-initializes on first access, and is safe for concurrent readers.

## License

MIT
