pub const BUILTIN_CATALOG: &str = "# bot-forge builtin Rust development catalog\n\nversions = { rust = \"1.89.0\" }\nenvironment = { paths = { managed-bin = \"$BOT_FORGE_HOME/bin\" }, mutations = [{ id = \"node-bin\", kind = \"path-prepend\", value = \"$BOT_FORGE_HOME/node/bin\", scope = \"user\", platforms = [\"linux-*\"] }, { id = \"node-bin-windows\", kind = \"path-prepend\", value = \"$BOT_FORGE_HOME/node\", scope = \"user\", platforms = [\"windows-*\"] }, { id = \"cargo-bin\", kind = \"path-prepend\", value = \"$HOME/.cargo/bin\", scope = \"user\", platforms = [\"linux-*\", \"windows-*\", \"macos-*\"] }, { id = \"python-bin-windows\", kind = \"path-prepend\", value = \"$HOME/AppData/Local/Programs/Python/Python312\", scope = \"user\", platforms = [\"windows-*\"] }, { id = \"python-scripts-windows\", kind = \"path-prepend\", value = \"$HOME/AppData/Local/Programs/Python/Python312/Scripts\", scope = \"user\", platforms = [\"windows-*\"] }, { id = \"uv-bin\", kind = \"path-prepend\", value = \"$BOT_FORGE_HOME/python-tools/uv/bin\", scope = \"user\", platforms = [\"linux-*\", \"macos-*\"] }, { id = \"uv-bin-windows\", kind = \"path-prepend\", value = \"$BOT_FORGE_HOME/python-tools/uv/Scripts\", scope = \"user\", platforms = [\"windows-*\"] }] }\n\n[groups]\ndaily-development = [\n \"git\",\n \"cmake\",\n \"ninja\",\n \"python\",\n \"llvm-toolchain\",\n \"rust-analyzer\",\n \"rust-src\",\n \"miri\",\n \"cargo-fuzz\",\n \"nodejs\",\n \"tsx\",\n \"openspec\",\n]\nquality-checks = [\n \"cargo-expand\",\n \"cargo-nextest\",\n \"cargo-audit\",\n \"cargo-deny\",\n \"cargo-geiger\",\n \"cargo-llvm-cov\",\n \"bot-gate\",\n \"bot-metric\",\n \"cargo-valgrind\",\n]\nadvanced-analysis = [\"bindgen-cli\"]\ndeveloper-automation = [\"uv\", \"project-brain\", \"gitnexus\"]\n\n[profiles]\nminimal = { components = [\"rust-build-base\", \"rust-toolchain\", \"rust-bot\"] }\nstandard = { inherits = [\"minimal\"], components = [\"group:daily-development\", \"group:quality-checks\"] }\nadvanced = { inherits = [\"standard\"], components = [\"group:advanced-analysis\", \"group:developer-automation\"] }\n\n[package-tools]\nrust-build-base = { detect = [\"dpkg\", \"-s\", \"build-essential\", \"pkg-config\", \"libssl-dev\"], apt = [\"build-essential\", \"pkg-config\", \"libssl-dev\"], apt_update = true, provides = [\"rust-build-base\"], winget = \"Microsoft.VisualStudio.2022.BuildTools\", winget_detect = [\"winget\", \"list\", \"--exact\", \"--id\", \"Microsoft.VisualStudio.2022.BuildTools\"], winget_arguments = [\"--override\", \"--quiet --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended\"], brew = [\"pkgconf\", \"openssl@3\"], brew_detect = [[\"xcrun\", \"--find\", \"clang\"], [\"brew\", \"list\", \"--versions\", \"pkgconf\", \"openssl@3\"]] }\npython = { detect = [\"python3\", \"-c\", \"import sys, pip; print(sys.version.split()[0]); raise SystemExit(0 if sys.version_info >= (3, 11) else 1)\"], apt = [\"python3\", \"python3-pip\", \"python3-venv\"], winget = \"Python.Python.3.12\", winget_detect = [\"python\", \"-c\", \"import sys, pip; print(sys.version.split()[0]); raise SystemExit(0 if sys.version_info >= (3, 11) else 1)\"], brew = [\"python@3.12\"] }\ngit = { detect = [\"git\", \"--version\"], apt = [\"git\"], apt_update = true, winget = \"Git.Git\", brew = [\"git\"] }\ncmake = { detect = [\"cmake\", \"--version\"], apt = [\"cmake\"], apt_update = true, winget = \"Kitware.CMake\", brew = [\"cmake\"] }\nninja = { detect = [\"ninja\", \"--version\"], apt = [\"ninja-build\"], winget = \"Ninja-build.Ninja\", brew = [\"ninja\"] }\nvalgrind = { detect = [\"valgrind\", \"--version\"], apt = [\"valgrind\"] }\nllvm-toolchain = { detect = [\"dpkg\", \"-s\", \"clang\", \"llvm\", \"libclang-dev\", \"binutils\"], apt = [\"clang\", \"llvm\", \"libclang-dev\", \"binutils\"], apt_update = true, winget = \"LLVM.LLVM\", winget_detect = [[\"where\", \"clang\"], [\"where\", \"llvm-nm\"], [\"where\", \"llvm-config\"], [\"where\", \"libclang.dll\"]], brew = [\"llvm\"], brew_detect = [\"brew\", \"list\", \"--versions\", \"llvm\"] }\n\n[rustup-tools]\nrust-analyzer = \"rust-analyzer\"\nrust-toolchain = { requires = [\"capability:rust-build-base\"], provides = [\"cargo\", \"rustup\"], detect = [[\"rustc\", \"+1.89.0\", \"--version\"], [\"cargo\", \"+1.89.0\", \"--version\"], [\"rustfmt\", \"+1.89.0\", \"--version\"], [\"cargo\", \"+1.89.0\", \"clippy\", \"--version\"]], toolchain-ref = \"rust\", components = [\"rustfmt\", \"clippy\"], default = true, bootstrap = { url = \"https://static.rust-lang.org/rustup/archive/1.28.2/{target}/rustup-init{exe}\", sha256 = { linux-x86_64-gnu = \"20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c\", linux-aarch64-gnu = \"e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c\", windows-x86_64-msvc = \"88d8258dcf6ae4f7a80c7d1088e1f36fa7025a1cfd1343731b4ee6f385121fc0\", windows-aarch64-msvc = \"de9f7d29ccd39efa59a3dda3ec363b396e09b92681229b9b8f6aaa4c84285e9c\", macos-x86_64 = \"71c3d31f59109831012c6e1c71a4f0f6f9a207efe8256f46bccb74d756e8960e\", macos-aarch64 = \"dc09f17d99c16582821598c68f1198c7e249a9d7df14e01809e892dc0e8cc761\" } } }\nllvm-tools-preview = { components = [\"llvm-tools-preview\"], toolchain-ref = \"rust\", detect = [\"rustup\", \"component\", \"list\", \"--installed\", \"--toolchain\", \"1.89.0\"], detect-stdout-contains = \"llvm-tools\" }\nrust-src = { components = [\"rust-src\"], toolchain = \"nightly\", detect = [\"rustup\", \"component\", \"list\", \"--installed\", \"--toolchain\", \"nightly\"], detect-stdout-contains = \"rust-src\" }\nmiri = { components = [\"miri\"], toolchain = \"nightly\", requires = [\"rust-src\"], detect = [\"cargo\", \"+nightly\", \"miri\", \"--version\"] }\n\n[cargo-tools]\ncargo-audit = { version = \"0.22.2\", toolchain = \"1.89.0\" }\ncargo-deny = { version = \"0.20.2\", toolchain = \"1.89.0\" }\ncargo-geiger = { version = \"0.13.0\", toolchain = \"1.89.0\" }\ncargo-expand = { version = \"1.0.126\", toolchain = \"1.89.0\" }\ncargo-fuzz = { version = \"0.13.1\", toolchain = \"1.89.0\" }\ncargo-nextest = { version = \"0.9.120\", toolchain = \"1.89.0\" }\ncargo-llvm-cov = { version = \"0.9.0\", toolchain = \"1.89.0\", requires = [\"llvm-tools-preview\"] }\nbot-gate = { version = \"1.2.1\", toolchain = \"1.89.0\" }\nbot-metric = { version = \"1.2.0\", toolchain = \"1.89.0\" }\nbot-compass = { version = \"1.0.0\", toolchain = \"1.89.0\", source = \"https://gitcode.com/xuanwu/bot-compass.git\", revision = \"6916eabc4e0c57d3fcdacb25fc092cb63bcbcdbf\", requires = [\"git\"] }\nrust-bot = { version = \"2.0.0\", crate = \"rust-bot\", bin = \"rust-bot\", detect = [\"rust-bot\", \"--version\"], toolchain = \"1.89.0\" }\n# --version is forwarded to Cargo; --help reports cargo-valgrind\'s own version.\ncargo-valgrind = { version = \"2.4.1\", toolchain = \"1.89.0\", detect = [\"cargo\", \"valgrind\", \"--help\"], platforms = [\"linux-*\"], requires = [\"valgrind\"] }\nbindgen-cli = { version = \"0.72.1\", toolchain = \"1.89.0\", bin = \"bindgen\" }\n\n[[components]]\nid = \"uv\"\nrequires = [\"python\"]\nprovides = [\"uv\"]\ndetect = { kind = \"command\", program = \"uv\", args = [\"--version\"] }\ninstall = { backend = \"pip\", package = \"uv\", version = \"0.12.3\", python = \"python3\", environment = \"$BOT_FORGE_HOME/python-tools/uv\" }\n\n[[components.variants]]\nid = \"windows-python\"\nplatforms = [\"windows-*\"]\ninstall = { backend = \"pip\", package = \"uv\", version = \"0.12.3\", python = \"python\", environment = \"$BOT_FORGE_HOME/python-tools/uv\" }\n\n[[components]]\nid = \"project-brain\"\nrequires = [\"capability:uv\", \"git\"]\ndetect = { kind = \"command\", program = \"project-brain\", args = [\"--version\"] }\ninstall = { backend = \"uv-tool\", package = \"git+https://gitcode.com/xuanwu/project-brain.git\", bins = [\"project-brain\"], force = true }\n\n[[components]]\nid = \"nodejs\"\nversion = \"22.22.0\"\nplatforms = [\"linux-x86_64-gnu\"]\ndetect = { kind = \"command\", program = \"node\", args = [\"--version\"] }\ninstall = { backend = \"archive\", url = \"https://nodejs.org/dist/v22.22.0/node-v22.22.0-linux-x64.tar.xz\", sha256 = \"9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37\", format = \"tar_xz\", target = \"$BOT_FORGE_HOME/node\", strip_components = 1, allow_links = true }\n\n[[components.variants]]\nid = \"linux-aarch64\"\nplatforms = [\"linux-aarch64-gnu\"]\ninstall = { backend = \"archive\", url = \"https://nodejs.org/dist/v22.22.0/node-v22.22.0-linux-arm64.tar.xz\", sha256 = \"1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f\", format = \"tar_xz\", target = \"$BOT_FORGE_HOME/node\", strip_components = 1, allow_links = true }\n\n[[components.variants]]\nid = \"macos-brew\"\nplatforms = [\"macos-*\"]\ninstall = { backend = \"brew\", formulae = [\"node\"] }\n\n[[components.variants]]\nid = \"windows-x86-64\"\nplatforms = [\"windows-x86_64-msvc\"]\ninstall = { backend = \"archive\", url = \"https://nodejs.org/dist/v22.22.0/node-v22.22.0-win-x64.zip\", sha256 = \"c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a\", format = \"zip\", target = \"$BOT_FORGE_HOME/node\", strip_components = 1 }\n\n[[components.variants]]\nid = \"windows-aarch64\"\nplatforms = [\"windows-aarch64-msvc\"]\ninstall = { backend = \"archive\", url = \"https://nodejs.org/dist/v22.22.0/node-v22.22.0-win-arm64.zip\", sha256 = \"5b44fd410df7b4cd0a1891a05a7b606f8fb7d8786a94997b996a372e82478d7a\", format = \"zip\", target = \"$BOT_FORGE_HOME/node\", strip_components = 1 }\n\n[[components]]\nid = \"gitnexus\"\nrequires = [\"nodejs\"]\ndetect = { kind = \"command\", program = \"gitnexus\", args = [\"--version\"] }\ninstall = { backend = \"npm\", package = \"gitnexus\", version = \"1.6.8\" }\n\n[[components]]\nid = \"tsx\"\nrequires = [\"nodejs\"]\ndetect = { kind = \"command\", program = \"tsx\", args = [\"--version\"] }\ninstall = { backend = \"npm\", package = \"tsx\", version = \"4.23.5\" }\n\n[[components]]\nid = \"openspec\"\nrequires = [\"nodejs\"]\ndetect = { kind = \"command\", program = \"openspec\", args = [\"--version\"] }\ninstall = { backend = \"npm\", package = \"@fission-ai/openspec\", version = \"1.8.0\" }\n";Expand description
Embedded built-in Rust development catalog.