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.1.tar.gz (35.7 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.1-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: littrail-0.1.1.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for littrail-0.1.1.tar.gz
Algorithm Hash digest
SHA256 460bf533562272b38f308047f51c02845b8b4eaca3c7f4f3285e609955e01271
MD5 5b721c17ac5f106ac878d7e901233a60
BLAKE2b-256 4d169d4b2b0ac0e5c854eae35390d20dc5d9640b82490289330f8de09547d5db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: littrail-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for littrail-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0161a517468e43cb3316b712200a690d95e22f96dfd9ae312be6f4265d30a1c0
MD5 e6325a06be2879baa4393159b710c2bb
BLAKE2b-256 d3208a1faba40fa413a934818b14ca3728a200a58431d9878f0f2d2fdefeaa9d

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