Files
chemenu/docs/reference/commands/configuration.md
T
torbenandClaude Code db8f90c229
CI / verify (push) Failing after 7m41s
CI / pwsh (push) Successful in 2m32s
Release / release (push) Successful in 37s
Release / wiki-mirror (push) Skipped
settings: the four per-feature files .wikitool-remotes/-telemetry/-upload/-tasks.json move into the three tiers and disappear; new command config migrate; 10.0.0-beta.1 (#208)
Files changed:
- .gitignore
- AGENTS.md
- CHANGES.md
- INSTALL.md
- VERSION
- docs/explanation/knowledge-and-commitment.md
- docs/explanation/telemetry-and-evaluation.md
- docs/explanation/why-gates-are-code.md
- docs/how-to/run-the-weekly-review.md
- docs/how-to/set-up-the-mcp-server.md
- docs/how-to/trace-and-score-sessions.md
- docs/how-to/troubleshoot.md
- docs/reference/commands/README.md
- docs/reference/commands/configuration.md
- docs/reference/commands/finding-and-checking.md
- docs/reference/commands/git.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/pages.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- docs/reference/exit-codes.md
- instructions/dev/doc-pull-through.md
- instructions/dev/tracker-testing.md
- instructions/gates.md
- instructions/ingest-queue.md
- instructions/mcp-read-server.md
- instructions/migrate-corpus.md
- instructions/migrations/10.0.0-settings-tiers.md
- instructions/setup-instance.md
- raw/CONTRACT.md
- reports/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/bugreport.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/commands/export_cmd.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/commands/new_page.py
- tools/chemenu/commands/review_cmd.py
- tools/chemenu/commands/task_cmd.py
- tools/chemenu/commands/upload_cmd.py
- tools/chemenu/config.py
- tools/chemenu/config_shapes.py
- tools/chemenu/legacy_settings.py
- tools/chemenu/mcp/__main__.py
- tools/chemenu/mcp/server.py
- tools/chemenu/reference_doc.py
- tools/chemenu/review.py
- tools/chemenu/settings.py
- tools/chemenu/tasks/__init__.py
- tools/chemenu/tasks/caldav.py
- tools/chemenu/tasks/config.py
- tools/chemenu/tasks/superproductivity.py
- tools/chemenu/telemetry/policy.py
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/record_sp_fixtures.py
- tools/chemenu/tests/test_bugreport.py
- tools/chemenu/tests/test_caldav.py
- tools/chemenu/tests/test_config_shapes.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_git_publish.py
- tools/chemenu/tests/test_legacy_settings.py
- tools/chemenu/tests/test_mcp_server.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_review.py
- tools/chemenu/tests/test_settings.py
- tools/chemenu/tests/test_sp_recorded.py
- tools/chemenu/tests/test_superproductivity.py
- tools/chemenu/tests/test_task_cmd.py
- tools/chemenu/tests/test_tasks_config.py
- tools/chemenu/tests/test_telemetry_policy.py
- tools/chemenu/tests/test_tracker_live.py
- tools/chemenu/tests/test_upload.py
- tools/chemenu/tests/tracker_live.py
- tools/chemenu/upload.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 06:54:35 +02:00

5.0 KiB

Configuration

Writing the tiered settings in wikitool.json and .wikitool-local.json.

Contents

config set

Set one value of the tiered settings, in the file its tier names.

Synopsis

  • wikitool config set <section>.<field> <value>
  • wikitool config set <section>.<field> --ref <name|op://vault/item/field>

Options

Arguments:
  key    <section>.<field>  [required]
  value  The plain value; a string as given, anything else as JSON.

Options:
  --ref <str>  A reference instead of a value: <name> or
               op://<vault>/<item>/<field>.
  -h, --help   Show this message and exit.

Examples

tools/wikitool config set tasks.stalled_waiting_days 14
tools/wikitool config set caldav.app_password --ref caldav_app_password
tools/wikitool config set caldav.username --ref op://Chemenu/caldav/username

Behaviour

  • Writes a plain value of a field of tier instance into wikitool.json, and one of tier checkout - a private field's included - into .wikitool-local.json.
  • With --ref, writes a reference instead of a value into wikitool.json: <name> resolves through WIKITOOL_SECRET_<NAME>, then the secrets file in the user's configuration directory; op://<vault>/<item>/<field> resolves through the 1Password CLI. Only a secret or private field takes one.
  • Removes the same key from the other file, so a value never has two places, and says so.
  • Creates wikitool.json with a fresh instance_id the first time it writes anything; the secrets file is found by that id.
  • Checks both files as they would stand after the write against every registered section, and writes nothing when that fails.
  • Prints the key and the file it wrote, never the value. Resolves no reference.

Properties

  • Changes files: yes
  • Idempotent: yes
  • Atomic: Each file is replaced in one rename; both are checked before either is written
  • Counts toward the session call budget: yes
  • Can reach the network: no

Exit codes

  • 0 - success
  • 1 - The key names no registered section or field, or is not <section>.<field>
  • 1 - A plain value given for a field of tier secret
  • 1 - --ref given for a field that takes a plain value, or a malformed reference
  • 1 - The value is not of the field's type, or the files would not pass their check afterwards
  • 42 - The field names a program to run or affects a gate

See also

  • wikitool doctor - whether both files pass and every reference resolves
  • docs/reference/configuration.md - the files, the tiers and the references
  • docs/how-to/use-1password-for-settings.md - setting 1Password up as the source

config migrate

Move the settings out of the per-feature files of earlier versions into the tiered settings.

Synopsis

  • wikitool config migrate

Options

  -h, --help  Show this message and exit.

Examples

tools/wikitool config migrate

Behaviour

  • Moves the four per-feature settings files of earlier versions - telemetry, remotes, upload and the task tracker, each named in the migration document - into the sections telemetry, remotes, upload, and tasks, superproductivity and caldav: each value into the file its field's tier names, a secret's value into the secrets file with only a reference in wikitool.json.
  • Every setting keeps its effective value, defaults included: the old content is read with the same checks the new sections use, and a field the old file did not set is not written.
  • Run once per checkout, since the old files and .wikitool-local.json belong to one checkout. .wikitool-tools.json stays as it is.
  • Prints each key and the file it went to, plus anything the old file held that was not read before and is not carried over - never a value.
  • A second run, or a run with no old file, prints that there is nothing to move and changes no file.
  • A key the target files already hold with a different value stops the move before anything is written: decide which one stands, remove the other, run again.

Properties

  • Changes files: yes
  • Idempotent: yes
  • Atomic: Everything is computed and checked in memory first; the secrets file, wikitool.json and .wikitool-local.json are each replaced in one rename, read back and checked, and only then are the old files removed. Any failure before that puts every target back to the bytes it had and leaves the old files as they were
  • Counts toward the session call budget: yes
  • Can reach the network: no

Exit codes

  • 0 - success
  • 1 - An old file does not pass the check the new section applies, a target key holds a different value, or the files would not pass their check afterwards

See also

  • wikitool doctor - reports every leftover old file as a FAIL
  • docs/reference/configuration.md - the sections the files became
  • instructions/migrations/10.0.0-settings-tiers.md - the migration this command belongs to