AGENT SKILL

tree-sitter-language-pack-managing-parsers

Use when the user needs to manage the tree-sitter parser cache — prefetch parsers for offline or CI runs, list what is downloaded, inspect a language, find the cache directory, or clean it. Covers `ts-pack download`, `list`, `info`, `cache-dir`, `clean`, and `init`.

License 许可
MIT
最近更新
2026-11-07
Stars
★ 485
Forks
71

01 前言 Front Matter

name
tree-sitter-language-pack-managing-parsers
description
Use when the user needs to manage the tree-sitter parser cache — prefetch parsers for offline or CI runs, list what is downloaded, inspect a language, find the cache directory, or clean it. Covers `ts-pack download`, `list`, `info`, `cache-dir`, `clean`, and `init`.

02 资源文件 1

03 SKILL.md 正文

<!-- AI-RULEZ :: GENERATED FILE — DO NOT EDIT Content-Hash: blake3:a2e80363e28ad0e5f3112ab4c73c46e76fa6f9a6d875d1c56af89fc86546f9f5 Source-Hash: blake3:b8687cf31ac8c66a5ecc15c4f11520ff201d8db14467b7528d5120124e9753a4 Schema-Version: v1 -->

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 the ts-pack CLI 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 all             # by group
ts-pack download python --fresh           # clean cache first, then download

The manifest currently defines exactly one group, all. Group names are manifest data, not a fixed list — enumerate them with manifest_groups() rather than hardcoding. 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 is given, init also triggers the download for those languages. (init takes only --languages and --cache-dir — for group-based prefetch use ts-pack download --groups <names>.) 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 tree-sitter-language-pack-parsing-source to get syntax trees and tree-sitter-language-pack-extracting-code-structure to pull metadata. info/list here also serve the language-support checks described in tree-sitter-language-pack-detecting-languages.

04 同仓库更多 Skills

xberg-io
xberg-io/tree-sitter-language-pack

tree-sitter-language-pack

Parse and extract code intelligence from 371 programming languages using tree-sitter grammars. Use when writing code that parses source, extracts structure/imports/exports/symbols/docstrings/comments, detects a language, runs syntax diagnostics, or produces syntax-aware chunks for LLMs — in Rust, Python, Node.js/TypeScript, or the ts-pack CLI. Covers installation, the CLI surface, the SDK surface, and parser-cache management.

开发工程师
★ 485
xberg-io
xberg-io/tree-sitter-language-pack

tree-sitter-language-pack-using-the-mcp-server

Use when parsing source, extracting code structure, or detecting a language through the tree-sitter-language-pack MCP server's tools, rather than shelling out to the ts-pack CLI. Covers the tool surface, the auto-installing launcher, and when MCP beats the CLI or SDK.

后端与接口Skill与智能体开发
★ 485
xberg-io
xberg-io/tree-sitter-language-pack

tree-sitter-language-pack-parsing-source

Use when the user wants a tree-sitter syntax tree for a source file — an s-expression dump or JSON tree. Covers `ts-pack parse`, language auto-detection vs `--language`, stdin input, and reading `has_errors`.

★ 485
xberg-io
xberg-io/tree-sitter-language-pack

tree-sitter-language-pack-extracting-code-structure

Use when the user wants structured code metadata from a source file — functions, classes, imports, exports, symbols, docstrings, comments, or syntax diagnostics. Covers `ts-pack process` feature flags, the JSON result shape, and the default feature set.

开发工程师
★ 485
xberg-io
xberg-io/tree-sitter-language-pack

tree-sitter-language-pack-detecting-languages

Use when the user wants to know which programming language a file or snippet is. Covers implicit detection in `ts-pack parse`/`process`, confirming support with `ts-pack list`/`info`, and the SDK detection functions for path, extension, and raw content.

★ 485
xberg-io
xberg-io/tree-sitter-language-pack

tree-sitter-language-pack-chunking-for-llms

Use when the user wants to split source code into chunks for an LLM context window without breaking syntax mid-construct. Covers `ts-pack process --chunk-size`, why syntax-aware splits beat fixed-byte splits, picking a size, and the chunk JSON shape.

★ 485