Configurable worklog management CLI for dated development logs
Project description
WorkLog OpsDev.NZ
Status: Development — see pyproject.toml for version
Configurable CLI tool for creating and managing dated development worklogs. Generates Markdown entries with YAML frontmatter from per-project templates.
Problem
Across multiple projects we kept reinventing the same pattern: a script that creates a dated Markdown file from a template, with frontmatter for date, author, tags, and draft status. Each implementation had slightly different directory structures, section headers, and filenames. The core concept was always the same.
Solution
worklog-opsdevnz formalises this pattern into a single published module:
- Per-project config —
worklog.tomlcontrols directory structure, sections, author, tags, and filename patterns - Three structure modes —
flat,year, oryear-monthdirectory layouts - YAML frontmatter — date, title, author, tags, draft status
- Configurable sections — each project defines its own section headers
- Editor integration — opens new entries in
$VISUAL/$EDITOR - List existing entries — browse worklogs with
--list
Quick Start
# Create today's worklog
worklog-opsdevnz
# Create yesterday's worklog
worklog-opsdevnz --previous
# Override the editor for this run
worklog-opsdevnz --editor nvim
Configuration
Each project gets a worklog.toml at its root:
worklog_dir = "docs/worklog"
structure = "year" # "flat", "year", or "year-month"
author = "Your Name"
default_tags = ["worklog", "log"]
[[sections]]
title = "Focus for Today"
[[sections]]
title = "Completed"
[[sections]]
title = "Notes"
[[sections]]
title = "Next"
Scope
WorkLog DOES:
- Create dated Markdown worklog entries with YAML frontmatter
- Per-project configuration via
worklog.toml - Open entries in configured editor (
$VISUAL/$EDITOR) - Three directory structure modes: flat, year, year-month
WorkLog DOES NOT (out of scope for 0.0.2):
- Zensical blog integration (see design doc)
- Auto-generated index pages
- Retro template support (planned for 0.1.0)
- Time tracking / timesheet aggregation
list,init, orcreatesubcommands (planned for 0.1.0)
Requirements
- Python 3.12+
- See pyproject.toml for full dependencies
Related
Last Updated: 2026-05-23 Status: Development (migrated to module template) Maintainer: OpsDev.nz Collective
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
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 worklog_opsdevnz-0.1.0.tar.gz.
File metadata
- Download URL: worklog_opsdevnz-0.1.0.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5e3600d161d520e4fb2c4b33e474153fe3e4e6e353fd52704cfe7691b306ea7
|
|
| MD5 |
9c3840e4db7affb0a0886cf924cf5205
|
|
| BLAKE2b-256 |
f3b3ac597b13ebb7357e66d9476ceba12ad2fb9ef2e60c02430244534dfaddd7
|
Provenance
The following attestation bundles were made for worklog_opsdevnz-0.1.0.tar.gz:
Publisher:
publish.yml on startmeup-nz/worklog_opsdevnz
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
worklog_opsdevnz-0.1.0.tar.gz -
Subject digest:
e5e3600d161d520e4fb2c4b33e474153fe3e4e6e353fd52704cfe7691b306ea7 - Sigstore transparency entry: 1626633016
- Sigstore integration time:
-
Permalink:
startmeup-nz/worklog_opsdevnz@de485a119e308f28d4d1266575059ce8acd7a406 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/startmeup-nz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@de485a119e308f28d4d1266575059ce8acd7a406 -
Trigger Event:
push
-
Statement type:
File details
Details for the file worklog_opsdevnz-0.1.0-py3-none-any.whl.
File metadata
- Download URL: worklog_opsdevnz-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e43174a5dfa96edde582a5f140d2f3bf025c0f86d9aa90c8d9d9675477e6ef64
|
|
| MD5 |
8f450ed598f4ea3e6043c9f78f627aa0
|
|
| BLAKE2b-256 |
73db32db9d335ba69489a6e680dd41e297cc6c796e5390d06b10c082ad0e353f
|
Provenance
The following attestation bundles were made for worklog_opsdevnz-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on startmeup-nz/worklog_opsdevnz
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
worklog_opsdevnz-0.1.0-py3-none-any.whl -
Subject digest:
e43174a5dfa96edde582a5f140d2f3bf025c0f86d9aa90c8d9d9675477e6ef64 - Sigstore transparency entry: 1626633047
- Sigstore integration time:
-
Permalink:
startmeup-nz/worklog_opsdevnz@de485a119e308f28d4d1266575059ce8acd7a406 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/startmeup-nz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@de485a119e308f28d4d1266575059ce8acd7a406 -
Trigger Event:
push
-
Statement type: