Strea.md is a personal knowledge management and time-tracking CLI tool
Find a file
Konstantin Fickel 1119d91854
feat(timesheet): add formatted report output to CLI
Replace CSV output with formatted table display showing:
- Monthly breakdown with expected/actual hours per day
- Day types (Regular, Sick Leave, Vacation, Holiday, Flex Day, etc.)
- Warning indicators for missing days and overlapping timecards
- Monthly summaries with total expected/actual hours
- Cumulative balance across all months
- Detailed warnings section at the end

Shows helpful message when no .streamd.toml configuration is found.
2026-03-29 22:07:58 +02:00
.forgejo/workflows ci: split workflow into check and build jobs 2026-02-15 17:33:25 +01:00
.vscode chore: improve dev setup 2025-06-22 12:52:15 +02:00
src feat(timesheet): add formatted report output to CLI 2026-03-29 22:07:58 +02:00
.envrc refactor: rewrite in rust 2026-03-29 18:28:03 +02:00
.gitignore refactor: rewrite in rust 2026-03-29 18:28:03 +02:00
Cargo.lock feat(timesheet): add configuration model with period validation 2026-03-29 22:03:24 +02:00
Cargo.toml feat(timesheet): add configuration model with period validation 2026-03-29 22:03:24 +02:00
CLAUDE.md refactor: rewrite in rust 2026-03-29 18:28:03 +02:00
flake.lock refactor: rewrite in rust 2026-03-29 18:28:03 +02:00
flake.nix chore: switch from yaml to toml 2026-03-29 19:14:51 +02:00
LICENSE.md docs: license under AGPL 2025-10-12 11:19:03 +02:00
README.md chore: switch from yaml to toml 2026-03-29 19:14:51 +02:00
renovate.json ci: allow major upgrades from renovate 2026-01-18 17:42:16 +01:00
REQUIREMENTS.md chore: switch from yaml to toml 2026-03-29 19:14:51 +02:00
streamd.svg feat: add streamd logo 2026-02-15 17:40:17 +01:00

strea.md

The Strea.md-Logo: A tag on an endless paper roll

Strea.md is a personal knowledge management and time-tracking CLI tool. It organizes time-ordered markdown files using @tag annotations, letting you manage tasks, track time, and query your notes from the terminal.

Core Concepts

  • Shards — Sections of markdown files, organized hierarchically by headings. Each shard can contain markers, tags, and nested child shards.
  • Markers — Special @tags like @Task, @Done, @Waiting, or @Timesheet that give shards semantic meaning and place them into dimensions.
  • Dimensions — Classification axes (e.g. task state, project, timesheet) that categorize shards. Some dimensions propagate to child shards.

File Format

Markdown files are named with a timestamp: YYYYMMDD-HHMMSS [markers].md

For example: 20260131-210000 Task Streamd.md

Within files, @-prefixed markers at the beginning of paragraphs or headings define how a shard is categorized.

Commands

  • streamd / streamd new — Create a new timestamped markdown entry, opening your editor
  • streamd todo — Show all open tasks (shards with @Task markers)
  • streamd edit [number] — Edit a stream file by index (most recent first)
  • streamd timesheet — Generate time reports from @Timesheet markers

Configuration

Streamd reads its configuration from ~/.config/streamd/config.toml (XDG standard). The main setting is base_folder, which points to the directory containing your stream files (defaults to the current working directory).

Usage

Running streamd opens your editor to create a new entry. After saving, the file is renamed based on its timestamp and any markers found in the content.

Running streamd todo finds all shards marked as open tasks and displays them as rich-formatted panels in your terminal.