Skip to main content

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 to notes.log.
  • pm toknow [hint] [--date DD/MM/YY] [--model MODEL] [--endpoint URL] [--timeout SEC]: Regenerate toknows.md via Ollama.
  • pm toknow next: Show the next [open] question from toknows.md.
  • pm todo [hint] [--date DD/MM/YY] [--model MODEL] [--endpoint URL] [--timeout SEC]: Regenerate todos.md via Ollama.
  • pm demo "...": Append demo note to blogposts/YYYY-MM-DD.md.
  • pm notes [--date DD/MM/YY] [--plain]: View notes.log as a compressed vertical timeline.
  • pm phase [recon|planning|building] [--hint ...] [--timeout SEC]: Show/set phase. Transition recon -> planning generates assumptions.md.

Date Filter Behavior

For pm toknow and pm todo:

  • --date DD/MM/YY includes only notes.log entries up to that date.
  • If --date is 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.md and prints the first [open] question to resolve next.

Notes View

  • pm notes opens 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 --plain for non-interactive output.

Created Layout

pm init creates:

  • .config.yaml
  • .pm_state.json
  • process.txt
  • notes.log
  • toknows.md
  • todos.md
  • blogposts/
  • 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: message
  • toknows.md: model-generated markdown
  • todos.md: model-generated markdown
  • assumptions.md: model-generated markdown
  • blogposts/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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

md_project_manager-0.1.1.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

md_project_manager-0.1.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file md_project_manager-0.1.1.tar.gz.

File metadata

  • Download URL: md_project_manager-0.1.1.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for md_project_manager-0.1.1.tar.gz
Algorithm Hash digest
SHA256 121ea680cbd51baae3c7c357bac6adca3aa5d089d708ac465b457d977d0d0e15
MD5 220108586bdea3f5fc653353aed9c57c
BLAKE2b-256 bf06ec4a496ea7b59026e51948315e280a83a3b7330b78fe31631a7aafbba111

See more details on using hashes here.

File details

Details for the file md_project_manager-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for md_project_manager-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1eab9e6e8d62bdc452b34a3c350bb585e9ed8454dbde5c012fd055e82548dc23
MD5 20300e1326830e9f751258b2d6159041
BLAKE2b-256 4c718d395286d466f899c47bd283c55bcb8835149a8aa0c3716dc21a17643cb2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page