groove-admin-config
Outcome
.groove/index.md
is created or updated with values confirmed by the user. The git strategy is applied immediately. User is ready to run
/groove-admin-install
.
Acceptance Criteria
.groove/index.md
exists with all config keys populated
Each key was either confirmed by the user or accepted as default
Git strategy is applied (
.groove/.gitignore
written) before exiting
User is shown a summary of the final config and told to run
/groove-admin-install
Steps
If
--defaults
is passed: skip all prompts, apply all defaults, and proceed directly to writing the config (step 1 of "After all keys are confirmed"). Report the defaults being applied.
Otherwise, walk the user through each config key in order. For each key: show the current value (or default if new), explain what it does, and ask to confirm or change.
Keys and defaults
Key
Default
Options
Question to ask
tasks
beans
beans | linear | github | none
"Which task backend? beans tracks tasks as markdown files in your repo."
memory
.groove/memory/
any path
"Where should groove store memory logs? (default: .groove/memory/)"
specs
/specs/
(e.g.
.groove/memory/specs/
)
any path
"Specs directory (required). Default: .groove/memory/specs/. Set to e.g.
specs/
for project-root visibility."
git.memory
ignore-all
ignore-all | hybrid | commit-all
"Git strategy for memory logs? ignore-all keeps them local, hybrid commits logs but ignores sessions, commit-all commits everything."
git.tasks
ignore-all
ignore-all | commit-all
"Git strategy for task files (.groove/tasks/)? ignore-all keeps them local, commit-all tracks them in git."
git.hooks
commit-all
ignore-all | commit-all
"Git strategy for hooks (.groove/hooks/)? commit-all shares hooks with the team, ignore-all keeps them local."
groovebook
andreadellacorte/groovebook
/
or blank
"Groovebook repo for sharing learnings? Default: andreadellacorte/groovebook. Leave blank to disable."
After all keys are confirmed:
Write
.groove/index.md
with confirmed values and
groove-version:
Apply git strategy — write
.groove/.gitignore
(see constraints)
Show summary of written config
Tell user: "Run
/groove-admin-install
to install backends."
Constraints
If
.groove/index.md
already exists, pre-fill each question with the current value
Always write
specs:
with a non-empty value (default
/specs/
, e.g.
.groove/memory/specs/
) — if absent, config is broken. Always write
groovebook:
(default
andreadellacorte/groovebook
; blank = disabled).
If
--defaults
is passed, apply all defaults without any prompting — used by
groove-admin-install
for zero-friction first-time setup
If other arguments are provided (e.g.
tasks=linear git.memory=hybrid
), apply them without prompting and use defaults for any unspecified keys
Always write
groove-version:
matching the installed version from
skills/groove/SKILL.md
Git strategy →
.groove/.gitignore
After writing
.groove/index.md
, generate
.groove/.gitignore
from the
git.*
sub-keys:
Component
Strategy
Entry added to
.groove/.gitignore
git.memory
ignore-all
memory/
git.memory
hybrid
memory/sessions/
git.memory
commit-all
(none)
git.tasks
ignore-all
tasks/
git.tasks
commit-all
(none)
git.hooks
ignore-all
hooks/
git.hooks
commit-all
(none)
Write the generated entries to
.groove/.gitignore
, replacing the file entirely. If no entries are generated (all
commit-all
), write an empty file with a comment:
groove git strategy: commit-all
.
Always append these lines at the end of
.groove/.gitignore
, regardless of strategy:
cache — always local
.cache/*
!.cache/.gitkeep
If
.groove/
is listed in the root
.gitignore
, warn the user: "Note:
.groove/
is in your root .gitignore — any commit-all strategies require removing it."
Do not modify the root
.gitignore
automatically — flag it for the user to resolve