Managing parsers
Parser libraries download on demand the first time a language is used and are cached on disk. Manage that cache explicitly for offline work, CI prefetch, reproducible builds, or to reclaim space.
Note: parser cache management (
download,clean,init) is done via thets-packCLI directly. The OpenCode tools expose only parse/process/info.
Prefetch (offline / CI)
ts-pack download python rust typescript # specific languages
ts-pack download --all # every available language
ts-pack download --groups web,systems # by group
ts-pack download python --fresh # clean cache first, then download
Available groups: web, systems, scripting, data, jvm,
functional (comma-separated for --groups). Run download in your CI
setup step so later parse/process calls hit the cache instead of the
network.
Inspect
ts-pack list # all available languages
ts-pack list --downloaded # only languages currently cached
ts-pack list --manifest # everything in the remote manifest
ts-pack list --filter script # filter by name substring
ts-pack info python # known? downloaded? cache path?
ts-pack cache-dir # print the effective cache directory
Clean
ts-pack clean # prompts for confirmation
ts-pack clean --force # skip the prompt (use in scripts/CI)
clean removes all cached parser libraries; they re-download on next use.
Config file (init)
ts-pack init writes a language-pack.toml to the current directory
pinning a cache location and/or a language set. This writes a file to
the working directory.
ts-pack init --languages python,rust --cache-dir .ts-pack-cache
Resulting language-pack.toml:
cache_dir = ".ts-pack-cache"
languages = ["python", "rust"]
With no flags, init writes a commented template. When --languages (or a
group set) is given, init also triggers the download for those languages.
Commit language-pack.toml to pin the parser set across a team or CI.
Typical CI flow
ts-pack init --languages python,rust,typescript --cache-dir .ts-pack-cache
# ... later steps run parse/process offline against the warm cache ...
ts-pack list --downloaded # assert the expected parsers are present
When to reach for the other skills
Once parsers are cached, use parsing-source to get syntax trees and
extracting-code-structure to pull metadata. info/list here also serve
the language-support checks described in detecting-languages.