Skip to content

docs: shell-startup module-placement convention + audit follow-ups#307

Merged
harleypig merged 2 commits into
masterfrom
docs/shell-startup-module-placement
Jul 23, 2026
Merged

docs: shell-startup module-placement convention + audit follow-ups#307
harleypig merged 2 commits into
masterfrom
docs/shell-startup-module-placement

Conversation

@harleypig

Copy link
Copy Markdown
Owner

Summary

  • Adds a Shell-startup Module Placement convention to .claude/CONVENTIONS.md
    (the "env-vs-bin split" rubric + hygiene rules) — previously unwritten though
    it drove audit decisions.
  • Turns the per-module env-pollution audit into concrete TODO.md follow-ups
    (moves + hygiene) and marks the two delivered items done.
  • Reframes the aider item to fold into the AGENTS.md migration (dotagents
    audit/BACKLOG.md) instead of a bin/aider wrapper — aider reads AGENTS.md.

Per-module audit report (the deliverable)

Load model: every module is sourced for both interactive and non-interactive
login shells; no global interactivity guard, so each self-guards interactive
content with [[ $- == *i* ]] || return 0, and any bare export hits every shell.

Disposition Modules
Fold → AGENTS.md migration aider (AIDER_*, AIDER_EDITOR, AIDER_COMMIT_PROMPT); flag claude (CLAUDE_CONFIG_DIR, CLAUDE_CODE_NO_FLICKER)
Move → bin/ wrapper ansible (+ siblings via bin/_ansible-env), calibre (or fold into app_env_vars), claude (verify CLAUDE_CONFIG_DIR consumers first)
Partial binenv — env→wrapper; gate + vendor completion (config/completions/binenv) to stop the per-shell fork
Keep, fix hygiene tmux (drop export -f; unset circled_digits), perl (unset -f setup fns), ssh-config-completion (local in _ssh)
Keep as-is 000-loadtokens, 010-general, app_env_vars, less, vim, go, python, node, cuda, jbang, bash_prompt, git, docker, gh, rust, terraform, grok, zzz-check-dotfiles, zzz-check-dotvim (both silent on happy path), taskwarrior_inactive (disabled)

Test plan

  • Docs-only; markdownlint + 78-col prose hooks green; bats gate unaffected.
  • TODO.md holds only open work after merge-finalization prunes the [x] items.

harleypig and others added 2 commits July 23, 2026 10:43
…ow-ups

Resolves two coupled shell-startup TODO items: (1) write down the "env-vs-bin"
module-placement convention (rubric + hygiene) in .claude/CONVENTIONS.md, where
it was previously unwritten though it drove several audit decisions; (2) the
per-module env-pollution audit of config/shell-startup/ — its actionable
findings become concrete TODO items (ansible/calibre/claude/binenv moves, perl/
ssh-config-completion hygiene), and the aider item is reframed to fold into the
AGENTS.md migration rather than a bin/aider wrapper (aider reads AGENTS.md).
Full per-module report is in the PR description.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Merge-time finalization: remove the two [x] items delivered by this PR (the
module-placement convention → .claude/CONVENTIONS.md, and the per-module audit
→ PR description + follow-up items). Planning doc holds only open work.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@harleypig
harleypig force-pushed the docs/shell-startup-module-placement branch from c4fea0d to 1e4cf14 Compare July 23, 2026 16:43
@harleypig harleypig closed this Jul 23, 2026
@harleypig
harleypig deleted the docs/shell-startup-module-placement branch July 23, 2026 16:43
@harleypig
harleypig restored the docs/shell-startup-module-placement branch July 23, 2026 16:45
@harleypig harleypig reopened this Jul 23, 2026
@harleypig
harleypig merged commit 5a3742a into master Jul 23, 2026
17 checks passed
@harleypig
harleypig deleted the docs/shell-startup-module-placement branch July 23, 2026 16:48
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