md-project-manager (pm)
A CLI for the workflow in process.txt.
Install (local dev)
uv pip install -e .
Quick Start
pm init .
pm note "Primary users are nurses and admin"
pm toknow
pm todo
pm phase planning
pm demo "Demoed rota module and captured feedback"
pm flow
Commands
pm init [path]: Create workflow files/folders and defaults.pm help: Show commands.pm flow: Show process definition.pm note "...": Append tonotes.log.pm toknow [hint] [--date DD/MM/YY] [--model MODEL] [--endpoint URL] [--timeout SEC]: Regeneratetoknows.mdvia Ollama.pm toknow next: Show the next[open]question fromtoknows.md.pm todo [hint] [--date DD/MM/YY] [--model MODEL] [--endpoint URL] [--timeout SEC]: Regeneratetodos.mdvia Ollama.pm demo "...": Append demo note toblogposts/YYYY-MM-DD.md.pm notes [--date DD/MM/YY] [--plain]: Viewnotes.logas a compressed vertical timeline.pm phase [recon|planning|building] [--hint ...] [--timeout SEC]: Show/set phase. Transitionrecon -> planninggeneratesassumptions.md.
Date Filter Behavior
For pm toknow and pm todo:
--date DD/MM/YYincludes onlynotes.logentries up to that date.- If
--dateis omitted, all notes are included. - Before sending notes to the model, timestamp and username are stripped to reduce token usage.
For pm toknow next:
- Reads
toknows.mdand prints the first[open]question to resolve next.
Notes View
pm notesopens a scrollable terminal view (j/k, arrow keys, PgUp/PgDn,g,G,q).- Gaps are compressed (short gaps: none, medium: small spacing, long: labeled gap marker).
- Use
pm notes --plainfor non-interactive output.
Created Layout
pm init creates:
.config.yaml.pm_state.jsonprocess.txtnotes.logtoknows.mdtodos.mdblogposts/archives/
archives/ is added to .gitignore on init.
File Update Policy
pm toknow, pm todo, and assumptions generation replace full markdown files.
Before replacement, previous versions are copied to archives/ as timestamped backups.
Entry Formats
notes.log:DD/MM/YY:HH MM: author: messagetoknows.md: model-generated markdowntodos.md: model-generated markdownassumptions.md: model-generated markdownblogposts/YYYY-MM-DD.md:- DD/MM/YY:HH MM: author: demo note
Author is sourced from git config user.name (fallback: OS login name).
Config (.config.yaml)
ollama_endpoint: http://localhost:11434/api/generate
ollama_model: gpt-oss
ollama_token: REPLACE_ME
ollama_insecure_tls: false
ollama_timeout_sec: 180
process_file: process.txt
prompts:
toknow: "..."
todo: "..."
assumptions: "..."
Prompts are configurable in .config.yaml.
ollama_token must be set in .config.yaml for AI commands to run.
If endpoint ends with /chat, the CLI uses chat payload format automatically.
If your endpoint uses a self-signed cert, set ollama_insecure_tls to true.
Ollama Prerequisite
ollama serve
ollama pull gpt-oss
Metadata
Release files for md-project-manager 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| md_project_manager-0.1.1.tar.gz | 13.6 kB | Without provenance | Details for md_project_manager-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| md_project_manager-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for md_project_manager-0.1.1-py3-none-any.whl |
Total release size: 25.5 kB
Release files / md_project_manager-0.1.1.tar.gz
| Download URL | md_project_manager-0.1.1.tar.gz |
|---|---|
| Size | 13.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
121ea680cbd51baae3c7c357bac6adca3aa5d089d708ac465b457d977d0d0e15
|
|
BLAKE2b-256 checksum How to use checksums |
bf06ec4a496ea7b59026e51948315e280a83a3b7330b78fe31631a7aafbba111
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / md_project_manager-0.1.1-py3-none-any.whl
| Download URL | md_project_manager-0.1.1-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1eab9e6e8d62bdc452b34a3c350bb585e9ed8454dbde5c012fd055e82548dc23
|
|
BLAKE2b-256 checksum How to use checksums |
4c718d395286d466f899c47bd283c55bcb8835149a8aa0c3716dc21a17643cb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for md-project-manager 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.