CLI tool to organize project documentation in a consistent structure
Project description
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 timeline [--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.
Timeline View
pm timelineopens 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 timeline --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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file md_project_manager-0.1.0.tar.gz.
File metadata
- Download URL: md_project_manager-0.1.0.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
618db547548766f2bf18c9d2d7151a510180d277e82a1aaca0cdf16eff8adf09
|
|
| MD5 |
fafd0afaa0b518d5c407dbfec36ceba8
|
|
| BLAKE2b-256 |
fef236c8f31a0a1a711af94f863d12a8c19c76a8ddd2c8c5919b8248794972b1
|
File details
Details for the file md_project_manager-0.1.0-py3-none-any.whl.
File metadata
- Download URL: md_project_manager-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47d6ec0535dbba36a160973d4ec3c941f389658dd7ed6f70c3856c9730d134ab
|
|
| MD5 |
c8c70836c4352f7e295bcdfa4e7dfe76
|
|
| BLAKE2b-256 |
c11ce83b0d54916cc2edf256c13b2d1fad4a5859479a13ae59f522f735c5b228
|