-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Two separate, independently-scoped layers. Knowing which one a change belongs to matters before you reach for a flag.
Address key, required-field overrides, and this repo's automation rules. Stored under
refs/tasks/config, the same event-sourced commit-chain mechanism as a task (see
Core Concepts). There is no
working-tree file. Every change goes through git task config ....
git task config show # key, resolved required fields, rules
git task config show --format jsonPlain TOML, never shared or synced:
-
~/.config/git-task/config.toml: registered repos, their project grouping, default field requirements. -
~/.config/git-task/automation.toml: automation rules that apply across every repo you touch on this machine (see Automation).
git task config key SRV # pin the display key (also: git task key SRV, a short alias)
git task config key # omit the new key to print the current oneOnly the numeric part of a task's id is load-bearing; the key is a cosmetic display prefix
(SRV-9057e58a). If never pinned, it's derived from the repo's directory name the first time a
task is created, and locked in automatically at that point.
git task config field priority required # or: optional
git task config field assignee required
git task config field due required
git task fields --format json # just the effective schema, read-onlyOnly priority, assignee, and due are configurable this way. title and description are
always required on new and cannot be turned off. A per-repo setting overrides the global default
for that field; git task config show reports which layer (repo, global, or default) is
currently in effect for each one.
git task config show --format jsonsource on a field or a built-in tells you which config layer decided its current value: repo
(this repo's config ref), global (your machine-local config.toml), or default (neither set
anything; this is git-task's own default).
Next: Automation for the rules engine that config rule manages.
git-task
Start here
Using tasks
Building on git-task
Contributing
{ "ok": true, "command": "config", "version": "1.0.0", "data": { "key": "SRV", "key_source": "config", // or "derived" "fields": { "priority": { "required": true, "source": "repo" }, "assignee": { "required": false, "source": "default" }, "due": { "required": false, "source": "default" } }, "builtins": [ { "name": "auto-unassign-done", "enabled": true, "source": "default" }, { "name": "auto-sync", "enabled": false, "source": "default" } ], "rules": [ { "scope": "repo", "name": "auto-triage-bugs", "on": "task.created", "when": "kind == \"bug\"", "actions": ["set_priority high", "add_label triage"] } ] }, "warnings": [] }