| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both the aix script and hey shell function are superseded by the
unified 'ai' launcher in claude-templates (bin/ai, installed via
make install). Single command, three modes, smart in-tmux behavior
so all sessions survive Hyprland crashes.
Per-machine setup adds a step:
cd ~/projects/claude-templates && make install
The orphaned ~/.local/bin/aix symlink should be removed manually on
each machine after pulling this change (rm ~/.local/bin/aix). Stow
re-stow would also clean it up.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds multi-machine sync awareness to the session launcher.
Before fzf:
- Fetches all candidate repos in parallel (capped at 6 concurrent)
- Annotates each entry with git status: (↑N ↓N dirty), (no upstream)
- Clean repos show no annotation
When launching a window:
- If working tree is clean, has upstream, is behind (not ahead): pull
- Otherwise: open window as-is, user handles any sync manually
Design choices:
- Fetches are synchronous — accurate status at the cost of a brief wait
on session start. Parallel execution keeps it fast (~1-2s for 22 repos).
- Pull is --ff-only — never merges, never creates merge commits in aix
- Diverged repos (ahead AND behind) trigger no auto-action; user decides
- No stash/pop dance — unreliable in multi-project batches; prefer
explicit awareness via annotation
Primary use case: moving between laptop and desktop. Wrap-it-up's
always-push ensures remote is current at session end; this ensures
local is current at next session start.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two changes:
- AI_INSTRUCTIONS now points at .ai/protocols.org (was docs/) — aligns
with the template docs/ → .ai/ restructure
- build_candidates filters directories to those with .ai/protocols.org
present. Previously listed every dir under ~/code/ and ~/projects/
including third-party clones and non-template projects, which would
fail silently when Claude tried to read a missing protocols file.
New projects that haven't been initialized (no .ai/ yet) will not
appear in the fzf list. Bootstrap those with a direct claude
invocation; the first-session workflow takes over once .ai/ exists.
|
| |
|
|
|
|
| |
sort_windows now builds known project basenames from candidate dirs
and treats everything else as non-project. Prevents TUI apps (mc,
ranger, htop) from being misclassified as project windows.
|
| |
|
|
|
|
| |
Move select-window after sort_windows so the first new project gets
focus via stable window ID. Also restructure todo.org into flat task
list (V2MOM preserved in docs/v2mom.org).
|
| |
|
|
|
| |
Shell window was intermittently shifting to index 1 because sort_windows
hardcoded index 0, which conflicts with base-index=1 and renumber-windows.
|
| |
|
|
|
|
| |
Sort windows (shells at 0, projects alphabetically from 1) on every
session access including --attach. Move --attach check after function
definitions so sort_windows is available.
|
| |
|
|
|
|
| |
Extract attach_session, create_window, read_selections, and
build_candidates functions. Remove unused variable. Simplify
new-session window ID capture.
|
| |
|
|
|
|
| |
Windows are reordered after creation and when adding to an existing
session. Shell windows (bash/zsh) sort to the end. Window numbering
starts at 1. Focus lands on the first selected window.
|
| |
|
|
|
|
|
| |
Allow calling aix from within the ai tmux session to add new project
windows. Already-open projects are filtered from the selection list.
Use tmux window IDs instead of names to fix errors with dots in
directory names (e.g. chime.el).
|
| |
|
|
|
|
| |
Add slack-desktop-wayland for Hyprland, slack-desktop for DWM.
Update Claude startup prompts, fix Hyprland portal/waybar startup
order, add signal-desktop Wayland .desktop override.
|
|
|
Provides flexible alternative to ai-assistants: multi-select project
directories via fzf, then open each in a tmux window running Claude.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|