Skip to content

CLI reference

Generated from attestation.cli.build_parser() by scripts/render_cli_reference.py; tests/test_docs_site.py asserts this file is a fresh render. Do not hand-edit.

attest ingest

usage: attest ingest [-h] [--db DB] [--feeds FEEDS] [--no-research]
                     [--fulltext-limit FULLTEXT_LIMIT]

options:
  -h, --help            show this help message and exit
  --db DB               DB path. Resolution order if omitted: ATTEST_DB (or
                        RSS_DB) env var > ~/.hermes/skills/science-
                        recommendations/data/hermes.db (if it exists) >
                        ./hermes.db
  --feeds FEEDS
  --no-research         skip research: feeds this run
  --fulltext-limit FULLTEXT_LIMIT
                        bodies to fetch after ingest (0 = none)

attest research

usage: attest research [-h] [--db DB] [--sources SOURCES] [--journal JOURNAL]
                       [--since-days SINCE_DAYS] [--limit LIMIT] [--no-store]
                       query

positional arguments:
  query

options:
  -h, --help            show this help message and exit
  --db DB               DB path. Resolution order if omitted: ATTEST_DB (or
                        RSS_DB) env var > ~/.hermes/skills/science-
                        recommendations/data/hermes.db (if it exists) >
                        ./hermes.db
  --sources SOURCES     comma-separated: arxiv,pubmed,crossref
  --journal JOURNAL     pubmed/crossref only
  --since-days SINCE_DAYS
  --limit LIMIT
  --no-store            preview; do not write the library

attest sources add

usage: attest sources add [-h] [--title TITLE] [--user USER] url

positional arguments:
  url            an RSS/Atom URL or research:<clients>?q=<query>[&journal=...]

options:
  -h, --help     show this help message and exit
  --title TITLE
  --user USER    persona to record as the one who added it

attest tag

usage: attest tag [-h] [--db DB] [--limit LIMIT]

options:
  -h, --help     show this help message and exit
  --db DB        DB path. Resolution order if omitted: ATTEST_DB (or RSS_DB)
                 env var > ~/.hermes/skills/science-
                 recommendations/data/hermes.db (if it exists) > ./hermes.db
  --limit LIMIT  max items to tag this run

attest serve

usage: attest serve [-h] [--db DB] [--port PORT]

options:
  -h, --help   show this help message and exit
  --db DB      DB path. Resolution order if omitted: ATTEST_DB (or RSS_DB) env
               var > ~/.hermes/skills/science-recommendations/data/hermes.db
               (if it exists) > ./hermes.db
  --port PORT

attest eval

usage: attest eval [-h] [--db DB] --user USER

options:
  -h, --help   show this help message and exit
  --db DB      DB path. Resolution order if omitted: ATTEST_DB (or RSS_DB) env
               var > ~/.hermes/skills/science-recommendations/data/hermes.db
               (if it exists) > ./hermes.db
  --user USER

attest warmup

usage: attest warmup [-h]

options:
  -h, --help  show this help message and exit

attest reload

usage: attest reload [-h]

options:
  -h, --help  show this help message and exit

attest backup

usage: attest backup [-h] [--db DB] dest

positional arguments:
  dest        path to write; must not already exist

options:
  -h, --help  show this help message and exit
  --db DB     DB path. Resolution order if omitted: ATTEST_DB (or RSS_DB) env
              var > ~/.hermes/skills/science-recommendations/data/hermes.db
              (if it exists) > ./hermes.db

attest reembed

usage: attest reembed [-h] [--db DB] [--force]

options:
  -h, --help  show this help message and exit
  --db DB     DB path. Resolution order if omitted: ATTEST_DB (or RSS_DB) env
              var > ~/.hermes/skills/science-recommendations/data/hermes.db
              (if it exists) > ./hermes.db
  --force     drop and rebuild even when the stored model and width already
              match

attest emit

usage: attest emit [-h] [--write]

options:
  -h, --help  show this help message and exit
  --write     write the Claude agent files (default: report only)

attest manifest

usage: attest manifest [-h]

options:
  -h, --help  show this help message and exit

attest kg-report

usage: attest kg-report [-h] [--db DB] [--min-size MIN_SIZE]

options:
  -h, --help           show this help message and exit
  --db DB              DB path. Resolution order if omitted: ATTEST_DB (or
                       RSS_DB) env var > ~/.hermes/skills/science-
                       recommendations/data/hermes.db (if it exists) >
                       ./hermes.db
  --min-size MIN_SIZE  smallest cluster to list

attest claims

usage: attest claims [-h] [--db DB] [--verdict VERDICT] [--coverage] [path]

positional arguments:
  path               file or directory (default: $RESEARCH_ROOT)

options:
  -h, --help         show this help message and exit
  --db DB            DB path. Resolution order if omitted: ATTEST_DB (or
                     RSS_DB) env var > ~/.hermes/skills/science-
                     recommendations/data/hermes.db (if it exists) >
                     ./hermes.db
  --verdict VERDICT  show only this verdict
  --coverage         instead: list numbers in prose that no claim covers

attest browse

usage: attest browse [-h] [--db DB] [--port PORT] [--open]

options:
  -h, --help   show this help message and exit
  --db DB      DB path. Resolution order if omitted: ATTEST_DB (or RSS_DB) env
               var > ~/.hermes/skills/science-recommendations/data/hermes.db
               (if it exists) > ./hermes.db
  --port PORT
  --open       open a browser window

attest desk build

usage: attest desk build [-h] --user USER --out OUT [--limit LIMIT]

options:
  -h, --help     show this help message and exit
  --user USER
  --out OUT
  --limit LIMIT

attest desk import

usage: attest desk import [-h] --user USER

options:
  -h, --help   show this help message and exit
  --user USER

attest desk refresh

usage: attest desk refresh [-h]

options:
  -h, --help  show this help message and exit

attest runs scan

usage: attest runs scan [-h] [--root ROOT] [--project PROJECT]

options:
  -h, --help         show this help message and exit
  --root ROOT        workspace dir (default: $RESEARCH_ROOT)
  --project PROJECT  scan only this project

attest runs list

usage: attest runs list [-h] [--project PROJECT] [--family FAMILY]
                        [--limit LIMIT]

options:
  -h, --help         show this help message and exit
  --project PROJECT
  --family FAMILY
  --limit LIMIT

attest runs compare

usage: attest runs compare [-h] [--metric METRIC] [--project PROJECT] family

positional arguments:
  family

options:
  -h, --help         show this help message and exit
  --metric METRIC    default: the metric most arms share
  --project PROJECT  required when the family exists in more than one project

attest runs show

usage: attest runs show [-h] project name

positional arguments:
  project
  name

options:
  -h, --help  show this help message and exit

attest runs record

usage: attest runs record [-h] --arm NAME [METRIC=VALUE ...] [--corpus CORPUS]
                          [--direction METRIC=lower_is_better|higher_is_better]
                          [--config KEY=VALUE] [--root ROOT] [--dry-run]
                          [--force] [--scan]
                          family

positional arguments:
  family

options:
  -h, --help            show this help message and exit
  --arm NAME [METRIC=VALUE ...]
                        one arm: its name, then one or more METRIC=VALUE pairs
  --corpus CORPUS       corpus name; declares it in corpora.toml
  --direction METRIC=lower_is_better|higher_is_better
                        declare a metric not already in
                        ledger.METRIC_DIRECTION
  --config KEY=VALUE    extra provenance pair written into each arm's config
                        file
  --root ROOT           where to write files (default: cwd)
  --dry-run             print the manifest, write nothing
  --force               overwrite existing files/entries
  --scan                also run `runs scan` and print `runs compare`

attest library sync

usage: attest library sync [-h] [--sources SOURCES] [--limit LIMIT]

options:
  -h, --help         show this help message and exit
  --sources SOURCES  comma-separated subset:
                     bibtex,zotero,feed,arxiv,crossref,s2
  --limit LIMIT      max rows per enricher and per embed pass
usage: attest library search [-h] [--author AUTHOR] [--year YEAR] [--tag TAG]
                             [--limit LIMIT]
                             [query]

positional arguments:
  query

options:
  -h, --help       show this help message and exit
  --author AUTHOR  surname filter
  --year YEAR
  --tag TAG
  --limit LIMIT

attest library tag

usage: attest library tag [-h] [--limit LIMIT]

options:
  -h, --help     show this help message and exit
  --limit LIMIT

attest library embed

usage: attest library embed [-h] [--limit LIMIT]

options:
  -h, --help     show this help message and exit
  --limit LIMIT

attest library status

usage: attest library status [-h]

options:
  -h, --help  show this help message and exit
usage: attest library related [-h] key

positional arguments:
  key         citation key, DOI, arXiv id, or library identity

options:
  -h, --help  show this help message and exit

attest library fulltext

usage: attest library fulltext [-h] [--limit LIMIT]

options:
  -h, --help     show this help message and exit
  --limit LIMIT

attest library bib

usage: attest library bib [-h] [--user USER]

options:
  -h, --help   show this help message and exit
  --user USER  one persona (default: every persona with signal)

attest library dashboard

usage: attest library dashboard [-h] [--out OUT] [--persona PERSONA]
                                [--limit LIMIT]

options:
  -h, --help         show this help message and exit
  --out OUT          output path (default: $ATTEST_LIBRARY_DASHBOARD, else the
                     Research Desk's workspace/research-
                     desk/library/library.json)
  --persona PERSONA  whose saved papers to mark (default: $ATTEST_DESK_USER,
                     else owner)
  --limit LIMIT      max references listed (default and maximum: 5000)

attest library export

usage: attest library export [-h] --bib BIB [--author AUTHOR] [--year YEAR]
                             [--tag TAG] [--source SOURCE] [--force]

options:
  -h, --help       show this help message and exit
  --bib BIB        output path; refuses to overwrite without --force
  --author AUTHOR
  --year YEAR
  --tag TAG
  --source SOURCE  reference_sources.source prefix, e.g. zotero,
                   research:arxiv
  --force

attest bootstrap-persona

usage: attest bootstrap-persona [-h] [--db DB] [-k K] name

positional arguments:
  name

options:
  -h, --help  show this help message and exit
  --db DB     DB path. Resolution order if omitted: ATTEST_DB (or RSS_DB) env
              var > ~/.hermes/skills/science-recommendations/data/hermes.db
              (if it exists) > ./hermes.db
  -k K

attest persona-merge

usage: attest persona-merge [-h] [--db DB] into drop [drop ...]

positional arguments:
  into        the persona to keep, e.g. matt
  drop        duplicates to fold in, e.g. "Matthew Goldey"

options:
  -h, --help  show this help message and exit
  --db DB     DB path. Resolution order if omitted: ATTEST_DB (or RSS_DB) env
              var > ~/.hermes/skills/science-recommendations/data/hermes.db
              (if it exists) > ./hermes.db

attest install

usage: attest install [-h] [--check] [--yes] [--now]

options:
  -h, --help  show this help message and exit
  --check     detect only, change nothing
  --yes       non-interactive consent
  --now       also run the tag backfill inline