[kimi] Implement Timmy control panel CLI entry point (#702) #767

Merged
kimi merged 1 commits from kimi/issue-702 into main 2026-03-21 19:15:28 +00:00
Collaborator

Fixes #702

Summary

Implemented timmyctl as Timmy's primary control surface for automations. This CLI provides a unified entry point for everyday interactions with Timmy automations.

New Commands

  • timmyctl daily-run – Run the Daily Run orchestration (agenda + summary)

    • Shows schedules and triggers from timmy_automations/config/daily_run.json
    • Supports --dry-run and --verbose flags
  • timmyctl log-run <message> – Capture a quick Daily Run logbook entry

    • Timestamps and categorizes entries automatically
    • Supports --category flag (default: "general")
  • timmyctl inbox – Show what's "calling Timmy" (PRs, Daily Run items, alerts)

    • Lists active automations from the manifest
    • Placeholder sections for PRs and issues (Gitea API integration ready)
    • Supports --limit, --prs/--no-prs, --issues/--no-issues flags
  • timmyctl config [key] – Display key configuration

    • Shows automations manifest, daily run config
    • --rules flag shows triage scoring rules overview
    • Configurable via TIMMY_CONFIG_DIR environment variable

Features

  • File-driven configuration: All settings read from timmy_automations/config/ (JSON/YAML)
  • Rich output: Tables, colors, and formatted displays using Rich library
  • Extensible design: Easy to add new subcommands following Typer patterns
  • Graceful degradation: Handles missing config files with clear error messages

Files Changed

  • src/timmyctl/__init__.py – Package init
  • src/timmyctl/cli.py – Main CLI implementation
  • pyproject.toml – Added entry point timmyctl = "timmyctl.cli:main" and package

Testing

  • All 2650+ unit tests pass
  • Lint checks pass
  • Formatting applied
  • CLI tested manually with all subcommands
Fixes #702 ## Summary Implemented `timmyctl` as Timmy's primary control surface for automations. This CLI provides a unified entry point for everyday interactions with Timmy automations. ## New Commands - **`timmyctl daily-run`** – Run the Daily Run orchestration (agenda + summary) - Shows schedules and triggers from `timmy_automations/config/daily_run.json` - Supports `--dry-run` and `--verbose` flags - **`timmyctl log-run <message>`** – Capture a quick Daily Run logbook entry - Timestamps and categorizes entries automatically - Supports `--category` flag (default: "general") - **`timmyctl inbox`** – Show what's "calling Timmy" (PRs, Daily Run items, alerts) - Lists active automations from the manifest - Placeholder sections for PRs and issues (Gitea API integration ready) - Supports `--limit`, `--prs/--no-prs`, `--issues/--no-issues` flags - **`timmyctl config [key]`** – Display key configuration - Shows automations manifest, daily run config - `--rules` flag shows triage scoring rules overview - Configurable via `TIMMY_CONFIG_DIR` environment variable ## Features - **File-driven configuration**: All settings read from `timmy_automations/config/` (JSON/YAML) - **Rich output**: Tables, colors, and formatted displays using Rich library - **Extensible design**: Easy to add new subcommands following Typer patterns - **Graceful degradation**: Handles missing config files with clear error messages ## Files Changed - `src/timmyctl/__init__.py` – Package init - `src/timmyctl/cli.py` – Main CLI implementation - `pyproject.toml` – Added entry point `timmyctl = "timmyctl.cli:main"` and package ## Testing - All 2650+ unit tests pass - Lint checks pass - Formatting applied - CLI tested manually with all subcommands
kimi added 1 commit 2026-03-21 19:15:04 +00:00
feat: implement timmyctl CLI entry point for automations
Some checks failed
Tests / lint (pull_request) Has been cancelled
Tests / test (pull_request) Has been cancelled
787870acb2
Add timmyctl as Timmy's primary control surface for automations:

- timmyctl daily-run: Run the Daily Run orchestration (agenda + summary)
- timmyctl log-run: Capture a quick Daily Run logbook entry
- timmyctl inbox: Show what's "calling Timmy" (PRs, Daily Run items, alerts)
- timmyctl config: Display key config (labels, logbook issue ID, token rules)

Features:
- Reads configuration from timmy_automations/config/
- File-driven configuration (no code changes for common tweaks)
- Rich output with tables and colors
- Easy to extend with new subcommands

Refs #702
kimi merged commit 05b87c3ac1 into main 2026-03-21 19:15:28 +00:00
kimi deleted branch kimi/issue-702 2026-03-21 19:15:28 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#767