Language Footprints¶
The base layer of Protostar handles the initialization of language-specific package managers, structural ignores, and compiler cache exclusions.
-
Python (
--python)Delegates to
uv(orpip) to initializepyproject.toml, establish a virtual environment, and ignore.venv/,__pycache__/, and Jupyter checkpoints. -
Rust (
--rust)Triggers
cargo init, ignores thetarget/build directory, and queuesrustfmtandclippyfor pre-commit static analysis. -
Node.js (
--node)Initializes
package.jsonvia your configured package manager, ignoresnode_modules/,dist/, and.next/, and injects Prettier and ESLint hooks. -
C/C++ (
--cpp)Ignores heavy compilation artifacts and caches (
*.o,*.out,build/,.cache/,compile_commands.json) and injects theclang-formathook to enforce standard styling. -
LaTeX (
--latex)Ignores typesetting auxiliary files (
*.aux,*.log,*.synctex.gz) and queuestex-fmtto standardize document structures.
The Python Gravity Well
Protostar was originally engineered to accelerate Python development pipelines, and its Python scaffolding (specifically via uv) is highly refined and deeply integrated.
While Protostar natively supports scaffolding for C++, Rust, Node.js, and LaTeX, these footprints currently represent basic, standard implementations. If you are a domain expert in these ecosystems, we gladly welcome PRs to help stabilize and expand their dependency pipelines to match the maturity of the Python layer.
Technical Specifications¶
| Language Footprint | CLI Flags | Description | Collision Markers |
|---|---|---|---|
| Python (uv) | -p, --python |
Scaffold a Python environment | pyproject.toml |
| Rust | -r, --rust |
Scaffold a Rust (cargo) environment | Cargo.toml |
| Node (npm) | -n, --node |
Scaffold a Node.js environment | package.json |
| C/C++ | -c, --cpp |
Scaffold a C/C++ environment footprint | None |
| LaTeX | -l, --latex |
Scaffold a LaTeX environment footprint | None |
Global Version Targeting
For languages like Python, you can explicitly override the global configuration at runtime using --python-version <VERSION> to enforce a specific compiler or interpreter version.