Every settings field declares its tier; a value in the wrong file is an error naming
file, key and tier. A field naming a program or affecting a gate cannot be declared
instance. Secrets are references only: {"ref": "<name>"} via WIKITOOL_SECRET_<NAME> or
a user-only secrets file, {"ref": "op://..."} via op read (locked 1Password: exit 42).
The preflight records op as an optional tool. doctor gains one line per tier, docs
verify checks a committed wikitool.json for plaintext secrets, CI resolves a real
op:// value through 1password/load-secrets-action. No feature reads its settings
this way yet; without the two files every other command is unchanged.
Files changed:
- .gitea/workflows/ci.yml
- .gitignore
- AGENTS.md
- CHANGES.md
- INSTALL.md
- VERSION
- docs/explanation/README.md
- docs/explanation/configuration-tiers.md
- docs/how-to/README.md
- docs/how-to/use-1password-for-settings.md
- docs/reference/commands/README.md
- docs/reference/commands/configuration.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/types-instructions-and-docs.md
- docs/reference/configuration.md
- docs/reference/exit-codes.md
- instructions/dev/doc-pull-through.md
- instructions/dev/testing-conventions.md
- instructions/preflight.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli.py
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/_util.py
- tools/chemenu/commands/config_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/config.py
- tools/chemenu/config_shapes.py
- tools/chemenu/prerequisites.py
- tools/chemenu/settings.py
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/test_dist_cmd.py
- tools/chemenu/tests/test_preflight.py
- tools/chemenu/tests/test_preflight_pwsh.py
- tools/chemenu/tests/test_settings.py
- tools/chemenu/toolpaths.py
- tools/preflight.ps1
- tools/preflight.sh
- tools/prerequisites.txt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
31 lines
2.1 KiB
Plaintext
31 lines
2.1 KiB
Plaintext
# What this stack needs on the machine, read by tools/preflight.sh, tools/preflight.ps1
|
|
# and `wikitool doctor` - one list, so the three cannot disagree. The procedure around it
|
|
# is instructions/preflight.md.
|
|
#
|
|
# Line format, fields separated by `|` so a POSIX shell reads it with `IFS='|' read`:
|
|
#
|
|
# limit|<name>|<value>
|
|
# tool|<name>|<minimum version, or ->|<all or windows>|<label>|<why it is needed>|<choco>|<winget>|<brew>|<apt>|<pacman>
|
|
#
|
|
# optional|<name>|<label>|<what it is for>
|
|
#
|
|
# A `-` in an install field means that package manager has no entry for this tool.
|
|
# `name` is the key the tool is recorded under in .wikitool-tools.json.
|
|
#
|
|
# An `optional` tool is recorded when the preflight finds it and is never asked for: its
|
|
# absence is not a problem, and the preflight neither names an install command for it nor
|
|
# installs it. What it costs to be without one is said where the tool is used.
|
|
|
|
# The longest install folder - the directory holding tools/ - that still fits Windows'
|
|
# MAX_PATH of 259 when long paths are off: 95 + 1 separator + the 160 characters
|
|
# `titles.PATH_BUDGET` gives a file below the instance root, with 3 to spare.
|
|
# Change it only together with that budget; a test holds the two to the sum.
|
|
limit|install_dir_max|95
|
|
|
|
tool|python|3.11|all|Python|every wikitool command runs on it|choco install python|winget install --id Python.Python.3.13 -e|brew install python|sudo apt install python3 python3-venv|sudo pacman -S python
|
|
tool|git|-|all|Git|the wiki is a git repository, and publishing commits through git|choco install git|winget install --id Git.Git -e|brew install git|sudo apt install git|sudo pacman -S git
|
|
tool|rg|-|all|ripgrep (rg)|search and several checks read the wiki through it|choco install ripgrep|winget install --id BurntSushi.ripgrep.MSVC -e|brew install ripgrep|sudo apt install ripgrep|sudo pacman -S ripgrep
|
|
tool|pwsh|7|windows|PowerShell 7 (pwsh)|the agent harnesses on Windows run their commands in it|choco install powershell-core|winget install --id Microsoft.PowerShell -e|-|-|-
|
|
|
|
optional|op|1Password CLI (op)|resolves op:// references in wikitool.json and .wikitool-local.json
|