Shared coding-agent config; symlink targets. Defaults to Codex today; add others (Claude, etc.) later.
codex/Codex config (AGENTS, rules, skills).scripts/bootstrap.shsetup + auto-pull.scripts/autopull.shcron runner (branch + clean-tree guard).scripts/tmtmux session helper.tmux.conftmux config.
Prereqs: gh auth, git, crontab.
gh repo clone apfk88/agent-config ~/dev/agent-config
cd ~/dev/agent-config
chmod +x scripts/bootstrap.sh
./scripts/bootstrap.shDefaults (Codex):
~/.codex/agents.md->codex/AGENTS.md~/.codex/config.toml->codex/config.toml~/.codex/skills->codex/skills~/.codex/tips.md->tips.md~/.tmux.conf->tmux.conf~/.local/bin/tm->scripts/tm- cron:
scripts/autopull.shevery 60m (expected branch + clean tree; logs to~/.cache/agent-config/autopull.log)
Env overrides:
AGENT_CONFIG_REPO_DIR(default~/dev/agent-config)AGENT_CONFIG_REPO_SLUG(defaultapfk88/agent-config)AGENT_SUBDIR(defaultcodex)AGENT_DIR(default~/.codex)AGENT_FILE/AGENT_LINK(defaultAGENTS.md/agents.md)AGENT_CONFIG_FILE/AGENT_CONFIG_LINK(defaultconfig.toml/config.toml, setAGENT_CONFIG_FILE=""to skip)AGENT_SKILLS_DIR/AGENT_SKILLS_LINK(defaultskills/skills, setAGENT_SKILLS_DIR=""to skip)TIPS_FILE/TIPS_LINK(defaulttips.md/tips.md, setTIPS_FILE=""to skip)TMUX_CONF_SOURCE(defaulttmux.conf, setTMUX_CONF_SOURCE=""to skip)TMUX_CONF_LINK(default~/.tmux.conf, setTMUX_CONF_LINK=""to skip)TM_BIN_DIR(default~/.local/bin)TM_LINK(defaulttm, setTM_LINK=""to skip)TM_SOURCE(defaultscripts/tm)AGENT_CONFIG_BRANCH(defaultmain)PULL_EVERY_MINUTES(default60)PULL_LOG_PATH(default~/.cache/agent-config/autopull.log, set empty to disable)AUTOPULL_PATH(defaults to currentPATHat install time)
Other agents: set AGENT_SUBDIR + AGENT_DIR (and file/skills names if they differ).
Bootstrap is safe to re-run; it only backs up when links point elsewhere.
Tip: running scripts/bootstrap.sh by full path uses that repo (ignores current directory).
Disable auto-pull:
crontab -l | grep -v "agent-config-autopull" | crontab -Linux note: ensure cron service is active (cron or crond), or auto-pull won't run.
tm new creates a session named after the repo (windows: agent-0, agent-1, server, bash). If not in a repo, it prompts for a path or GitHub URL (clones if needed).
Branch shorthand: tm new org/repo#branch or tm new /path/to/repo branch.
tm attach lists sessions and asks which to attach.
tm list / tm kill / tm killall / tm rename / tm exit for session management.
Make it runnable anywhere:
mkdir -p ~/.local/bin
ln -s "$PWD/scripts/tm" ~/.local/bin/tmEnsure ~/.local/bin is on PATH.