Skip to main content

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

Project description

Prompt Diary

Language: English | 简体中文

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 report and prompt-diary console commands after installation.

Usage

Install Prompt Diary from PyPI as an isolated uv tool:

uv tool install prompt-diary

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 report 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:

report generate

By default, report 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:

report generate --date 2026-05-12 --timezone Asia/Shanghai
report generate --today
report 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, report 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.3.tar.gz (145.4 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.3-py3-none-any.whl (187.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: prompt_diary-0.2.3.tar.gz
  • Upload date:
  • Size: 145.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","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.3.tar.gz
Algorithm Hash digest
SHA256 63095dc03741ee256074e843fc99a863f9ac9bd58713fcaffc32836c0aabedac
MD5 593051208238a2ebb5466d926e38ba22
BLAKE2b-256 3688afb9dbb918af8aee00e2873dfa1cbbffc18c387b9eb8c8bf8762ef1b2f12

See more details on using hashes here.

File details

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

File metadata

  • Download URL: prompt_diary-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 187.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9878e79eeef2387a218a2dd6ffe81216db522f0e7409609d9c75b90433732a67
MD5 0bcba6531fc0d108904f6b036f1cafbb
BLAKE2b-256 0c90c24d4c8c2970062d25b268af28915a944fe17225ba2a1d1246d417ffae41

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