Skip to main content

Review user prompts for evidence-backed improvement in AI coding collaboration.

Project description

Prompt Diary

Language: English | 简体中文

Documentation: GitHub Pages

CI Publish PyPI Coverage budget

Prompt Diary prepares bounded workspaces from local assistant session history and generates evidenced prompt diary reports that help users review and improve how they collaborate with AI coding agents.

The tool targets Python 3.10 and newer. The package exposes prompt-diary as the primary console command after installation; report is installed as a compatibility alias.

Usage

Quick Start

Install Prompt Diary from PyPI as an isolated uv tool:

uv tool install --prerelease=allow prompt-diary

Prompt Diary depends on the Codex Python SDK for agent-backed report generation. The current Codex SDK packaging uses prerelease packages, so uv needs explicit prerelease consent while resolving the tool environment.

Configure publishing if you want reports sent to Notion:

prompt-diary config init

Generate the report for the most recent completed day:

prompt-diary generate

If you only want a local report, skip configuration and run prompt-diary generate --no-notion. The command prepares the workspace if needed and writes the report under the default reports root.

Configuration

Configuration is optional for local-only reports. Run prompt-diary config init when you want Notion publishing; it also lets you accept or override the data folder and records the required reporter name:

prompt-diary config init

The setup prompts for the Notion integration token, optional data folder, target database id, and required reporter name for the 汇报人 column. Credentials are validated before they are saved, written to a single config file with 0600 permissions, and never passed on the command line. Use these commands to inspect the stored configuration:

prompt-diary config show   # print the configuration (token masked) and the file location
prompt-diary config path   # print the config file location

Set the language for Codex-generated natural-language report content with:

prompt-diary config language zh-Hans
PROMPT_DIARY_CONTENT_LANGUAGE=zh-Hans prompt-diary generate

The config file lives under the per-user config directory (~/.config/prompt-diary/config.json on Linux; the platform equivalent on macOS and Windows), overridable with PROMPT_DIARY_CONFIG. Environment variables still override stored credentials and settings when present, including NOTION_API_KEY, NOTION_PAGE_ID, PROMPT_DIARY_HOME, and PROMPT_DIARY_CONTENT_LANGUAGE. Content language supports en, zh-Hans, and zh-Hant. It applies to generated natural-language content values; deterministic renderer-owned labels, headings, fallbacks, and Notion metadata banners remain English in this release.

Generate a report

Run the full report workflow directly:

prompt-diary generate

By default, prompt-diary generate first resolves the timezone, then targets the previous calendar day in that timezone: the most recent completed day. It prepares the workspace if it is missing, generates the report, and renders report.md and report.notion.json. The timezone is resolved from --timezone, then PROMPT_DIARY_TIMEZONE, then TZ, then the system timezone, then UTC. Notion publishing is enabled by default when both the Notion token and database id resolve from the stored config or environment. Pass --no-notion to skip publishing, or pass --notion to require publishing and fail if Notion is not configured.

Use explicit targeting when needed:

prompt-diary generate --date 2026-05-12 --timezone Asia/Shanghai
prompt-diary generate --today
prompt-diary generate --date 2026-05-12 --timezone Asia/Shanghai --notion

The reports root is the base folder for prepared workspaces and generated report files. By default it is the per-user data directory (~/.local/share/prompt-diary/ on Linux; the platform equivalent on macOS and Windows). Each run writes under <reports-root>/work/<YYYY-MM-DD>/. Override the location with --reports-root <path>, PROMPT_DIARY_HOME, or the saved data folder. Precedence is --reports-root, then PROMPT_DIARY_HOME, then the saved data folder, then the default per-user data directory. Earlier versions wrote to ./.reports in the current directory; pass --reports-root .reports to keep using an existing local directory.

In an interactive terminal, prompt-diary generate shows live progress. When output is redirected or running in CI, it prints plain log lines. Pass --quiet to suppress the live output and print only the final summary.

Development

This project uses uv for Python version, environment, dependency, build, and release workflows.

Read docs/src/product.md before designing new features, changing report content, or modifying the generation pipeline. It defines the tool's purposes and principles that downstream design must satisfy.

For environment setup, build commands, type checking, testing, coverage, linting, and pre-submit checks, including the optional Ubuntu 24.04 devcontainer, see the Development Guide. For codebase architecture and API design, see Architecture.

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

prompt_diary-0.2.9.tar.gz (151.2 kB view details)

Uploaded Source

Built Distribution

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

prompt_diary-0.2.9-py3-none-any.whl (196.2 kB view details)

Uploaded Python 3

File details

Details for the file prompt_diary-0.2.9.tar.gz.

File metadata

  • Download URL: prompt_diary-0.2.9.tar.gz
  • Upload date:
  • Size: 151.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for prompt_diary-0.2.9.tar.gz
Algorithm Hash digest
SHA256 277935ba408b070009f870605c9e59e123cbb259da078e2ba008d1136adc57f4
MD5 88e961ee96a8b49fb5eba7138b0a578d
BLAKE2b-256 20e0638c9993b11fdb5ea0b585480b7f420ef6556500243c94123343b73ff0db

See more details on using hashes here.

File details

Details for the file prompt_diary-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: prompt_diary-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 196.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for prompt_diary-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 0e50708bb0935dbb6619ed69e2df83289d25d79909e2a325efedf1742b4945c7
MD5 731649819b75efd3f4ea7c84e9930503
BLAKE2b-256 40abd0ebb1894c3a1cd714d392246ac8cce85a27c2676761b3296aeae482b024

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