Skip to main content

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

Project description

Prompt Diary

Prompt Diary prepares bounded, redacted 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 the command as an isolated uv tool:

uv tool install .

Then run:

report --help
prompt-diary --help
report prepare --date 2026-05-12 --timezone Asia/Shanghai
report generate --date 2026-05-12 --timezone Asia/Shanghai

During development, uv sync installs the project into the local .venv; use uv run to execute the command from that environment:

uv run report --help

Development

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

Environment

Set up the development environment:

uv sync

Run the CLI from the project environment:

uv run report --help

Dependencies

Add runtime dependencies with:

uv add <package>

Add development-only dependencies with:

uv add --dev <package>

Build And Release

Build source and wheel distributions:

uv build

Publish release artifacts only after the package metadata and target registry are configured:

uv publish

Type Checking

Type checking uses basedpyright. The project config enables strict mode for src and tests. Add type annotations by best effort for new and changed code. This is a hard rule: prefer explicit, checkable types whenever they improve clarity or allow basedpyright to verify behavior. Use accurate types when possible instead of relying on repeated validation. At module boundaries, parse untrusted or loosely structured inputs into precise internal types, then pass those types through the rest of the code. Do not validate a value and then continue passing the original loose representation when a richer type, dataclass, TypedDict, NewType, enum, or other structured representation can preserve the invariant for callers and the type checker.

uv run basedpyright

Tests

Tests use pytest. The pytest config lives in pyproject.toml and uses strict config and marker validation.

uv run pytest

Linting And Formatting

Linting and formatting use ruff. Ruff is configured for Python 3.10. The lint rule set is explicit and intentionally broader than Ruff's defaults, covering imports, modernization, bug-prone patterns, datetime safety, security checks, pathlib usage, pytest style, exception handling, and simplification rules.

uv run ruff check
uv run ruff format --check
uv run ruff format

Pre-Submit Checks

Before submitting changes, run:

uv run ruff check
uv run ruff format --check
uv run basedpyright
uv run pytest
uv build

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.1.0a1.tar.gz (3.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.1.0a1-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file prompt_diary-0.1.0a1.tar.gz.

File metadata

  • Download URL: prompt_diary-0.1.0a1.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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":null}

File hashes

Hashes for prompt_diary-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 71f170177b17ed07d57b4644c7cb2cea4b0b6ce25147abf0878c4bbcaffe635a
MD5 6341640c8fcf881fb975260f4e1a4797
BLAKE2b-256 5fb3420100fabcd4318876d6c5c469e71647b2d65404b02ad6886e3a9efe5a43

See more details on using hashes here.

File details

Details for the file prompt_diary-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: prompt_diary-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 3.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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":null}

File hashes

Hashes for prompt_diary-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 836abca2e2e44ddc9dba5e6c970ec2f25a901e4946306f67b0741748d19e7cda
MD5 f6421680f14775b5361f48ecc35d24f7
BLAKE2b-256 eff2eb86c94f54a08e0f747a1e927e9a2234fad1931801c5d8a81ee983e79a61

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