Command-line reference¶
Every command the engine installs, in the order a day runs through them.
Each section is generated from the parser the command itself uses, so it matches curate-<command> --help for the installed version.
On GitHub, where the sections below do not render, read the published page or run --help instead.
Commands are shown bare, as they are on PATH in a configuration repository’s devcontainer (step 2 of SETUP.md) or after installing the package.
A runner is chosen with --config feeds/<name>/config.toml.
Left out, it is found by searching upwards from the working directory, so a bare command works from inside feeds/<name>/ but not from the repository root, which deliberately has no config.toml.
Command-line options override the config for that run only.
curate-template¶
Print a template for a new runner, to be redirected into place.
usage: curate-template [-h] {config,policy}
Positional Arguments¶
- which
Possible choices: config, policy
which template to print: the settings reference or the policy one
curate-validate¶
Check a runner’s configuration and the files it names. Reads nothing but the filesystem: no feed is resolved and no credential is needed. Exits non-zero with one line per problem.
usage: curate-validate [-h] path
Positional Arguments¶
- path
a runner’s config.toml, or a directory whose subdirectories are runners (which also checks that they share nothing)
curate-fetch¶
Fetch subscribed feeds into a JSONL corpus file for today. A feed that fails is reported in the summary, not fatal, and an item already in any corpus file is skipped.
usage: curate-fetch [-h] [--config CONFIG] [--sources SOURCES]
[--corpus-dir CORPUS_DIR] [--days N]
[--summary-max-chars SUMMARY_MAX_CHARS]
[--concurrency CONCURRENCY] [--user-agent USER_AGENT]
Named Arguments¶
- --config
path to config.toml
- --sources
path to the OPML subscription list
- --corpus-dir
directory to write corpus files into
- --days
lookback window in days, filtered on publication date (0 disables filtering)
- --summary-max-chars
truncate summaries to this length
- --concurrency
maximum concurrent HTTP requests
- --user-agent
User-Agent header sent with every request
curate-export¶
Render a corpus file as compact Markdown for review.
usage: curate-export [-h] [--config CONFIG] [--corpus-dir CORPUS_DIR]
[--max-items MAX_ITEMS] [--out OUT] [--prompt]
[--scoring-prompt PATH]
[corpus_file]
Positional Arguments¶
- corpus_file
corpus file to render (default: the most recent one)
Named Arguments¶
- --config
path to config.toml
- --corpus-dir
directory holding corpus files
- --max-items
render at most this many items
- --out
write to this file instead of stdout
- --prompt
emit the whole scoring prompt, policy documents included
Default:
False- --scoring-prompt
scoring prompt to use instead of the one shipped with the package
curate-score¶
Ask a scorer to judge one day of candidates.
usage: curate-score [-h] [--config CONFIG] [--date YYYY-MM-DD]
[--provider PROVIDER] [--response PATH]
[--corpus-dir CORPUS_DIR] [--scoring-prompt PATH]
Named Arguments¶
- --config
path to config.toml
- --date
collection day to score (default: the most recent one)
- --provider
scorer to use (stub, file or anthropic), overriding the config
- --response
saved response to read, for the file scorer
- --corpus-dir
directory holding corpus files
- --scoring-prompt
scoring prompt to use instead of the one shipped with the package
curate-paywall¶
Check whether the day’s graded articles can be read. Does nothing unless [paywall] enabled is set for the runner.
usage: curate-paywall [-h] [--config CONFIG] [--date YYYY-MM-DD]
[--corpus-dir CORPUS_DIR]
Named Arguments¶
- --config
path to config.toml
- --date
collection day to check (default: the most recent one)
- --corpus-dir
directory holding corpus files
curate-select¶
Score a saved response and assemble the day’s selection.
usage: curate-select [-h] [--config CONFIG] [--date YYYY-MM-DD]
[--corpus-dir CORPUS_DIR]
Named Arguments¶
- --config
path to config.toml
- --date
collection day to select from (default: the most recent one)
- --corpus-dir
directory holding corpus files
curate-render¶
Publish the day’s selection into the rolling Atom feed.
usage: curate-render [-h] [--config CONFIG] [--date YYYY-MM-DD]
[--build-dir BUILD_DIR]
Named Arguments¶
- --config
path to config.toml
- --date
collection day to publish (default: the most recent one)
- --build-dir
directory to write the feed to
curate-deploy¶
Upload the built feed to the host it is served from.
usage: curate-deploy [-h] [--config CONFIG] [--provider PROVIDER]
[--build-dir BUILD_DIR] [--dry-run] [--force]
Named Arguments¶
- --config
path to config.toml
- --provider
deployer to use (none or wrangler), overriding the config
- --build-dir
directory to upload
- --dry-run
print the upload that would run, and upload nothing
Default:
False- --force
upload even when the feed has not changed since the last one, as after a change the content hash does not cover, such as _headers
Default:
False
curate-run¶
Fetch, score, select and render, in that order.
usage: curate-run [-h] [--config CONFIG] [--date YYYY-MM-DD]
[--from {fetch,score,paywall,select,render,deploy}]
[--provider PROVIDER] [--response PATH]
[--scoring-prompt PATH] [--deploy]
Named Arguments¶
- --config
path to config.toml
- --date
replay a past collection day, starting at scoring
- --from
Possible choices: fetch, score, paywall, select, render, deploy
start at this stage instead of the beginning
- --provider
scorer to use (stub, file or anthropic), overriding the config
- --response
saved response to read, for the file scorer
- --scoring-prompt
scoring prompt to use instead of the one shipped with the package
- --deploy
publish the rendered feed as well, instead of stopping at build/
Default:
False