Skip to content

feat: split dot dispatcher into dots, sec, tok#381

Merged
Data-Wise merged 13 commits intodevfrom
feature/dot-rename
Feb 15, 2026
Merged

feat: split dot dispatcher into dots, sec, tok#381
Data-Wise merged 13 commits intodevfrom
feature/dot-rename

Conversation

@Data-Wise
Copy link
Owner

Summary

  • Split monolithic dot dispatcher (4,395 lines) into 3 focused dispatchers:
    • dots — Dotfile management (chezmoi, edit, sync, push/pull)
    • sec — Secret management (Keychain, Bitwarden)
    • tok — Token management (GitHub, NPM, PyPI wizards, rotation)
  • Updated all references across 91 files: runtime code, tests, docs, tutorials, completions
  • Migration guide at docs/guides/MIGRATION-DOT-SPLIT.md
  • Full backward compatibility for --dot flags and doctor --dot

Changes

Area Files What changed
Core dispatchers 3 new, 1 removed dot-dispatcher.zshdots-, sec-, tok-dispatcher.zsh
Runtime code 7 files All dot secret/dot token calls → sec/tok
Completions 3 files _dot_dots, new _sec, _tok
Tests 20+ files All test assertions updated for new commands
Documentation 30+ files Guides, tutorials, refcards, architecture docs
Help compliance All 3 new dispatchers 9-rule format verified (14/14 dispatchers pass)

Test plan

  • Full test suite: 45/45 passed, 0 failed (1 expected timeout)
  • Help compliance: 14/14 dispatchers pass 9-rule format
  • Plugin source validation: source flow.plugin.zsh loads cleanly
  • Stale reference scan: Only intentional historical refs remain
  • New E2E and dogfood tests for dispatcher split added

🤖 Generated with Claude Code

Test User and others added 13 commits February 14, 2026 20:44
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Split the monolithic dot-dispatcher.zsh (4,395 lines) into three
focused dispatchers:
- dots (~1,600 lines) - dotfile management
- sec (~1,500 lines) - secret management
- tok (~1,300 lines) - token management

Each dispatcher gets its own completion file and doctor subcommand.
Clean break with no deprecated aliases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Delete old dot-dispatcher.zsh and _dot completion
- Rename shared helpers: _dot_* → _dotf_* in dotfile-helpers.zsh
- Rename keychain helpers: _dot_kc_* → _dotf_kc_* in keychain-helpers.zsh
- Rename core functions: _dot_secret_backend → _dotf_secret_backend etc
- Rename doctor integration: _dot_doctor → _dots_doctor_integration
- Update all callers in doctor.zsh, dash.zsh, work.zsh, secret-tutorial.zsh
- Update help-compliance.zsh dispatcher registry (dot → dots/sec/tok)
- Update user-facing command strings (dot token → tok, dot secret → sec)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rename _dot_* function references to _dotf_*, _dots_*, _sec_*, _tok_*
across all 25 test files. Update command invocations from `dot` to
the appropriate new dispatcher (dots/sec/tok).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update 15 documentation files to replace `dot` command references
with the new dispatcher names (dots/sec/tok). Updates include:
- MASTER-DISPATCHER-GUIDE.md: split into 3 dispatcher sections
- QUICK-REFERENCE.md: 3 new command sections
- DOTFILE-MANAGEMENT.md, DOT-WORKFLOW.md: dots commands
- TOKEN-MANAGEMENT-COMPLETE.md, REFCARD-TOKEN-SECRETS.md: tok/sec
- CLAUDE.md: 15 dispatchers, updated command table
- mkdocs.yml, index.md, tutorials, installation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- e2e-dispatcher-split.zsh: 66 automated tests covering all 3
  dispatchers (dots/sec/tok), function existence, old function
  removal, shared helpers, files, and completions
- dogfood-dispatcher-split.zsh: interactive dogfooding with
  real-world command execution and user confirmation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The dots help now uses "MOST COMMON" and "IGNORE & HEALTH" headings
instead of "COMMON COMMANDS", "IGNORE PATTERNS", "REPOSITORY HEALTH".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create MIGRATION-DOT-SPLIT.md with command mapping tables
- Update mkdocs.yml nav with migration guide entry
- Fix stale dot references in TROUBLESHOOTING, REFCARD-DOT-SAFETY,
  API-DOT-SAFETY, MASTER-API-REFERENCE, DOCTOR-TOKEN-USER-GUIDE

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rewrite _sec_help and _tok_help with required sections:
  MOST COMMON, QUICK EXAMPLES, categorized, TIP, See also
- Fix dots help: move RELATED into See also (TIP must follow last category)
- Update automated-plugin-dogfood.zsh: dot → dots/sec/tok in dispatcher list
- Update test-help-compliance-dogfood.zsh: dot → dots/sec/tok (14 dispatchers)

Full suite: 45 passed, 0 failed, 1 expected timeout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Comprehensive sweep of 17 files replacing stale `dot` dispatcher
references with the new `dots`, `sec`, and `tok` commands across
README, CHANGELOG, guides, tutorials, architecture docs, and fixtures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Runtime function calls, user-facing messages, help text, and the
interactive tutorial all still referenced the removed dot() function.
Updated tok-dispatcher (13 calls), g-dispatcher (6), work.zsh (3),
flow.zsh (1), keychain-helpers (~30 messages), secret-tutorial (~35
references), and dotfile-helpers comments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated 7 test files and 5 internal docs to use dots/sec/tok instead
of the removed dot dispatcher. Preserves --dot flags and historical
migration references intentionally.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rename _dot_token_expiring → _tok_expiring and _dot_token_rotate →
  _tok_rotate across 4 doc files (19 occurrences)
- Remove incorrect bw/mise dependencies from dots-dispatcher.zsh header
- Revert CHANGELOG historical entries to original `dot` command names
  (only [Unreleased] uses new dots/sec/tok names)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Data-Wise Data-Wise merged commit c1c5cbd into dev Feb 15, 2026
1 check passed
@Data-Wise Data-Wise deleted the feature/dot-rename branch February 15, 2026 05:05
@Data-Wise Data-Wise mentioned this pull request Feb 15, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant