Commit Graph

312 Commits

Author SHA1 Message Date
rootiest 45cba3a15b fix(agents-init): address final review issues (CLAUDE.md safety, rm-rf guard, gitignore anchoring, worktree detection) 2026-06-12 22:09:44 -04:00
rootiest 11dc584104 docs: add agents-init entry and update claude description in fish-config.md 2026-06-12 22:04:12 -04:00
rootiest 0167370823 refactor(claude): delegate symlink logic to agents-init --agents 2026-06-12 22:01:50 -04:00
rootiest 8d0f425b10 feat(agents-init): add auto-commit step for AGENTS/ sub-repo 2026-06-12 21:59:02 -04:00
rootiest a483c30c05 fix(agents-init): use fish-idiomatic command substitution in --plugins mode 2026-06-12 21:55:05 -04:00
rootiest 3befc07887 feat(agents-init): add --plugins mode (docs/ move + symlinks + gitignore) 2026-06-12 21:53:32 -04:00
rootiest 2a9a7ed2ff fix(agents-init): add error checks and CLAUDE.md move to --agents mode 2026-06-12 21:51:05 -04:00
rootiest d1949953df feat(agents-init): add --agents mode (AGENTS.md move + symlinks + gitignore) 2026-06-12 21:48:25 -04:00
rootiest 7463d894f2 fix(agents-init): address code quality issues in skeleton 2026-06-12 21:46:59 -04:00
rootiest 1e1c2003f3 feat(agents-init): scaffold function with argparse, help, and sub-repo init 2026-06-12 21:42:58 -04:00
rootiest e6de825fb1 fix(agents-init): move argv assignments after guard in gitignore helper 2026-06-12 21:41:14 -04:00
rootiest b6ed77d8f9 fix(agents-init): add write-error check and arg validation to gitignore helper 2026-06-12 21:40:27 -04:00
rootiest 522fd03c12 feat(agents-init): add gitignore helper function 2026-06-12 21:38:26 -04:00
Gitea Actions d68f68bec7 chore(docs): regenerate man page, HTML docs, and wiki 2026-06-12 23:43:51 +00:00
rootiest a92847e6ed Merge pull request 'fix(first-run): move fish-config.1 symlink install to first-run' (#51) from fix/manpage-symlink-move-to-first-run into main
Generate documentation / build-docs (push) Successful in 34s
Reviewed-on: #51
2026-06-12 23:43:13 +00:00
rootiest 682e93c794 docs: update man page symlink description to reflect first-run timing 2026-06-12 19:37:58 -04:00
rootiest 953aafd055 fix(first-run): move fish-config.1 symlink install to first-run
Startup side-effects that modify the filesystem belong in first-run, not
in a recurring conf.d fragment. The symlink is now created once (like a
real install step) instead of being checked on every shell launch.

MANPATH addition stays in tricks.fish — that's an env var that must be
set each session.
2026-06-12 19:37:30 -04:00
Gitea Actions 39688b28f4 chore(docs): regenerate man page, HTML docs, and wiki 2026-06-12 23:28:18 +00:00
rootiest 654503062b docs: shorten clean_progress_log.py description to single line
Generate documentation / build-docs (push) Successful in 34s
2026-06-12 19:27:38 -04:00
Gitea Actions 9d2a498089 chore(docs): regenerate man page, HTML docs, and wiki 2026-06-12 23:19:42 +00:00
rootiest 64c559dbab Merge pull request 'feat(config-toggle): adaptive width, centering, and resize handling' (#50) from feat/config-toggle-adaptive-width into main
Generate documentation / build-docs (push) Successful in 34s
Offline docs drift reminder / remind (push) Successful in 11s
Reviewed-on: #50
2026-06-12 23:19:05 +00:00
rootiest 93fc5e0517 feat(config-toggle): adaptive width, centering, and resize handling
Panel now selects from four width tiers based on $COLUMNS (with a 6-col
buffer per side before stepping up): 52-wide (default), 70, 74, or 78.
Each tier carries richer category descriptions sized to fit the layout.
The box is horizontally centered on every draw via a left-padding prefix.

Key reader switches from stty min 1 to min 0 / time 3, giving a 0.3 s
poll interval so COLUMNS changes are detected without a keypress. The
erase formula is now wrap-aware: prev_max_line_width / COLUMNS gives the
wrap factor, ensuring old wider panels are fully cleared after narrowing.
Idle timeout ticks that detect no resize are skipped entirely.
2026-06-12 19:17:49 -04:00
Gitea Actions 1253f67c9c chore(docs): regenerate man page, HTML docs, and wiki 2026-06-12 21:46:31 +00:00
rootiest 045f141e30 Merge pull request 'feat: add claude wrapper that auto-links AGENTS.md as CLAUDE.md' (#49) from feat/claude-wrapper-agents-link into main
Generate documentation / build-docs (push) Successful in 40s
Reviewed-on: #49
2026-06-12 21:45:49 +00:00
rootiest f76a45e273 feat: add claude wrapper that auto-links AGENTS.md as CLAUDE.md
New functions/claude.fish wraps the claude CLI. Before launch it checks the
current directory and the git project root; when CLAUDE.md is absent but
AGENTS.md is present, it creates a relative symlink CLAUDE.md -> AGENTS.md so
Claude Code picks up shared agent instructions without duplicating the file.
Arguments are forwarded verbatim.

Implemented as a C1 command shadow: when __fish_config_op_aliases (or the
master __fish_config_opinionated) is disabled, the call passes through to the
bare claude binary unchanged. Link-creation notices print to stderr in green.

Documents the new shadow in docs/fish-config.md (section 5.12 AI tools, C1
component reference table, and C1 summary list) and adds a claude-cli anchor
to docs/fish-config.index.
2026-06-12 17:44:40 -04:00
rootiest 95f2ad9112 Merge pull request 'fix: suppress fish shadow warning corrupting config-toggle redraw' (#48) from fix/config-toggle-shadow-warning-redraw into main
Reviewed-on: #48
2026-06-12 21:41:21 +00:00
rootiest 4210f3b445 fix: suppress fish shadow warning corrupting config-toggle redraw
When a category variable is set explicitly in both universal and session
scope, interactive fish prints a one-line stderr warning ("successfully set
universal 'X'; but a global by that name shadows it") on each `set -U`/`set
-g`. That stray line landed between the apply and the in-place panel redraw,
pushing the cursor down one row so the `\e[14A` cursor-up no longer reached
the top border — leaving it behind to stack on every toggle and persist
after exit.

Suppress stderr on the six set commands in __config_toggle_apply. The
warning is expected noise here since config-toggle edits both scopes
independently. The warning only fires in a real interactive TTY (not under
`fish -ic`), which is why it was easy to miss when testing.
2026-06-12 17:40:18 -04:00
Gitea Actions 8b9bd248fd chore(docs): regenerate man page, HTML docs, and wiki 2026-06-12 04:58:11 +00:00
rootiest b323fedf49 Merge pull request 'feat: add catppuccin nim-style fallback prompt and overhaul right prompt' (#47) from feat/catppuccin-fallback-prompt into main
Generate documentation / build-docs (push) Successful in 33s
Offline docs drift reminder / remind (push) Successful in 11s
Reviewed-on: #47
2026-06-12 04:57:36 +00:00
rootiest 4f8c45c4ef fix: restore docker context behind starship+C3 guard, use long date format in right prompt 2026-06-12 00:51:55 -04:00
rootiest 16394da0d9 docs: mention catppuccin fallback prompt in README overview 2026-06-12 00:49:28 -04:00
rootiest 7527f01a2b fix: use jobs -c in background loop, reset color after loop, clean up right_prompt 2026-06-12 00:47:27 -04:00
rootiest 0670fbbdad docs: document catppuccin fallback prompt and update component reference 2026-06-12 00:43:42 -04:00
rootiest b5513ccbde fix: overhaul fish_right_prompt — exit code, dim time, remove docker dep 2026-06-12 00:41:53 -04:00
rootiest 4c77f3b0af fix: add operator vi-mode case and # prefix to hex palette in fish_prompt 2026-06-12 00:40:51 -04:00
rootiest eb828a09d5 feat: add catppuccin nim-style fallback fish_prompt 2026-06-12 00:38:22 -04:00
rootiest ab284641a5 fix: add RETURNS block and remove blank line in fish_mode_prompt docstring 2026-06-12 00:36:30 -04:00
rootiest fefcb9034b feat: add empty fish_mode_prompt stub to suppress vi-mode prefix 2026-06-12 00:35:26 -04:00
Gitea Actions e90cdeb259 chore(docs): regenerate man page, HTML docs, and wiki 2026-06-12 03:55:18 +00:00
rootiest 3eec6c3f89 Merge pull request 'fix(deps): clean up dependency catalog tiers and remove dead installer code' (#46) from fix/deps-catalog-uv-pipx into main
Generate documentation / build-docs (push) Successful in 37s
Reviewed-on: #46
2026-06-12 03:54:36 +00:00
rootiest 36a303f7d4 fix(deps): demote cargo/starship to rec, remove fisher from catalog
Required tier is now fish, fzf, and zoxide only — the tools the config
meaningfully can't function without. Everything else degrades gracefully.

- cargo: only used by fish-deps to install Rust tools or build fish from
  source; all paths are already gated on type -q cargo
- starship: type -q guard in conf.d/starship.fish; shell falls back to
  fish's built-in prompt without it
- fisher: auto-bootstrapped by first_run.fish; no need for users or
  fish-deps to manage it. Remove from catalog and clean up the now-dead
  fisher-bootstrap/special-fisher installer cases.

Catalog arrays verified aligned at 26 entries each.
2026-06-11 23:50:37 -04:00
rootiest 5c224694ec fix(deps): demote direnv to recommended
direnv integration is fully guarded with type -q direnv in config.fish.
The auto-venv script checks $DIRENV_DIR (set at runtime), not the binary.
Without direnv installed the hook simply never loads and venv activation
fires normally. No functionality breaks.
2026-06-11 23:36:50 -04:00
rootiest bc0b67a498 fix(docs): correct paru/yay tier — catalog already has them as rec
paru and yay were already classified as rec in _fish_deps_catalog.fish
(they've always been position 9-10 in the tiers array with rec values)
but docs/fish-config.md still listed them under Required. Non-Arch
systems have had silent guards throughout, so they were never truly
required. This syncs the docs with what the catalog already says.
2026-06-11 23:30:12 -04:00
rootiest a3b60718de fix(deps): demote uv to recommended, remove dead pipx installer code
uv is only used in the fish-deps fish-from-source build path
(uv run --no-managed-python cargo install --path .) and is not required
by the config at runtime. All consumers degrade gracefully without it.

pipx appeared in the installer's method-building and execution switch
blocks but no catalog entry ever sets special=pipx, making both branches
permanently unreachable dead code. The docs listed pipx as install
priority #6 which was equally misleading.

- _fish_deps_catalog: change uv tier from req → rec
- _fish_deps_install: remove case pipx method-builder and
  special-pipx / special-pip execution cases
- docs/fish-config.md: move uv from Required to Recommended catalog
  entry with accurate description; drop pipx from install priority
  list and tier summary
2026-06-11 23:28:33 -04:00
Gitea Actions 7744f4f569 chore(docs): regenerate man page, HTML docs, and wiki 2026-06-12 03:24:46 +00:00
rootiest 4eea14576c Merge pull request 'feat(deps): catalog python3 as a recommended dependency' (#45) from feat/python3-dependency into main
Generate documentation / build-docs (push) Successful in 34s
Reviewed-on: #45
2026-06-12 03:24:09 +00:00
rootiest 681a48f3c5 feat(deps): catalog python3 as a recommended dependency
python3 is used unguarded by the AI session helpers and (guarded) by the
paru/yay log cleaner, but was absent from the dependency catalog and docs.
uv does not provide python3 on PATH, and Arch's base omits it, so it is
tracked separately rather than assumed via uv.

- Add python3 (recommended tier, pm: python) to _fish_deps_catalog.fish
- Guard python3 calls in save_claude_session/save_antigravity_session with
  `type -q python3`, emitting valid empty JSON when absent (Convention §6)
- Document python3 in docs/fish-config.md (§5.6 tiers + catalog entry)
2026-06-11 23:15:17 -04:00
Gitea Actions 965d72230c chore(docs): regenerate man page, HTML docs, and wiki 2026-06-12 03:02:58 +00:00
rootiest 71aa38c7ca Merge pull request 'fix(logging): restore AUR progress bars and render clean colored logs' (#44) from fix/aur-wrapper-pty-progress-bars into main
Generate documentation / build-docs (push) Successful in 37s
Reviewed-on: #44
2026-06-12 03:02:20 +00:00
rootiest 499bf672f8 chore(gitignore): add python patterns to gitignore 2026-06-11 22:57:30 -04:00