Skip to main content

CLI tool for managing a verified literature trail from AI-generated research reports

Project description

littrail

Verified literature trail for software projects.

littrail solves the problem of using AI-generated research surveys as unchecked evidence. It provides a CLI tool and workflow template that turns an AI-generated survey into a verified literature trail — with metadata confirmed against OpenAlex, reading notes, and GitHub issue candidates — all stored in Git.

Workflow

generated report -> verified catalog -> paper notes -> issue candidates -> GitHub issues
  1. Save an AI-generated literature survey in research/reports/.
  2. Add papers with verified metadata using littrail add-paper.
  3. Confirm metadata against OpenAlex with littrail verify.
  4. Write reading notes in research/notes/<key>.md.
  5. Draft issue candidates in research/ideas/.
  6. Promote to GitHub issues manually.

Installation

# One-off use (no install required):
uvx littrail --help

# For CI or team-managed projects:
uv add --group dev littrail

Development

git clone https://github.com/pillyshi/littrail
cd littrail
uv sync --group dev
uv run pytest
uv run ruff check src/ tests/
uv run pyright src/
uv build

Quickstart

littrail init
export OPENALEX_API_KEY=...
littrail add-paper --doi 10.18653/v1/D19-1404
littrail verify
littrail check

Commands

Command Description
littrail init Initialise research/ workflow in current directory
littrail add-paper --doi <DOI> Add paper by DOI
littrail add-paper --openalex <ID> Add paper by OpenAlex ID
littrail verify Verify catalog metadata against OpenAlex (read-only)
littrail check Check repository consistency offline

research/ Directory Policy

research/
  README.md          # Workflow documentation (Git tracked)
  catalog.yaml       # Verified metadata (Git tracked)
  reports/           # AI-generated surveys (Git tracked)
  notes/             # Per-paper reading notes (Git tracked)
  ideas/             # Issue candidates (Git tracked)
  pdfs/              # Local PDF cache (NOT tracked)

PDF binaries are stored in research/pdfs/ and excluded from Git via .gitignore. This keeps the repository lightweight while preserving the human-readable record.

API Key

littrail add-paper and littrail verify use the OpenAlex API via pyalex.

export OPENALEX_API_KEY=your_key_here

Do not commit your API key. It is never written to catalog.yaml, logs, or any Git-tracked file.

Design Decisions

Decision Choice Reason
CLI framework typer Auto --help, type-annotation based
YAML library ruamel.yaml Preserves key order and formatting
Type checker pyright (basic) pyalex/ruamel.yaml に型スタブなし、basic mode で対応
verify auto-update No Keeps human judgment in the loop
Key format <family>-<year> Human-readable, suffix on collision

MVP Non-Goals

The following are not included in this release:

  • LLM API integration or automated report generation
  • PDF auto-download
  • PDF text extraction or citation scraping
  • GitHub issue creation
  • Automated note writing
  • arXiv / ACL identifier input (DOI and OpenAlex ID only)
  • Catalog auto-migration
  • CI workflow template generation
  • Plugin / MCP server packaging

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

littrail-0.1.0.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

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

littrail-0.1.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file littrail-0.1.0.tar.gz.

File metadata

  • Download URL: littrail-0.1.0.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for littrail-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5c6ebbe93ddb7ef6b4bee6db56dd7ab5f4f33b5a26ef6ef9681a28c1c7affd3d
MD5 cb87284f60d8745b1e5a247e2785065f
BLAKE2b-256 1d69e9f0f790582152d8d21d37deda7a802db58bfafd16903651c7fdba53eeee

See more details on using hashes here.

File details

Details for the file littrail-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: littrail-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for littrail-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee4fbc91e1d6147cb741fa2c579ebeeb4c0bf104a9befe149f481c6654907a32
MD5 251a1f80be53a746ed99446591b3cd33
BLAKE2b-256 663b42e879f31a33878c733a25d2913e32e373c8cf6e5d75117d211fb9112837

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