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.2.0.tar.gz (41.9 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.2.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for littrail-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8a3a07adaf1d604f23f5c62ef2d74c72a89baa6c98f8ddfb38c0c01be562d7b6
MD5 1313955b47851400ccf4297e327dbe4c
BLAKE2b-256 5890af595264329c70ca6f6821ff3438e6c78183db67a9b38925fef23abda3be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: littrail-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adf20e65b79e8ba6f90fbda3411087a0a95acf48d9b345a6425cb329eee4fc3e
MD5 48bdc643269c0c1c8f9fa1fe388e454d
BLAKE2b-256 a41c7443bdc045d4714af31027fc0dafd85bf64bc174b9515d14b5a49b5a6ce0

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