SG

sfc-gh-eraigosa/dotfiles

开发工具
48 stars 质量 85 趋势 85

Ubuntu Bash Home profile setup, includes vimrc's profiles some git commands

概览

An agent-first development environment for macOS and Linux. Two things live here: a that lets Antigravity CLI (agy) and Claude Code work from the same skills, hooks, and rules — and , a set of small Go tools that make letting an agent actually do things survivable. Nine single-binary Go tools (plus a shared library) covering the loop: let an agent work → let it commit without losing anything → see what's happening → roll it out everywhere → keep the repo it pushes to configured the way you meant. The installer is — prompts are front-loaded, but on Windows/WSL the Desktop deploy runs at the end, so stay nearby. It symlinks core configs (.zshrc, .tmux.conf, …) into $HOME, initializes nvm/pyenv/goenv/rbenv, builds the SDK binaries into ~/opt/bin/, and installs both assistants pre-loaded with the shared skills. Both assistants read the skills, hooks, and progressive context — write a skill once, use it in either. - — every SKILL.md is linked into both assistants by sync-skills.

README

🛠️ Dotfiles & Agent Environment

An agent-first development environment for macOS and Linux.

Two things live here: a shared context and safety layer that lets Antigravity CLI (agy) and Claude Code work from the same skills, hooks, and rules — and the SDK, a set of small Go tools that make letting an agent actually do things survivable.


🧰 The SDK

Nine single-binary Go tools (plus a shared library) covering the loop: let an agent work → let it commit without losing anything → see what’s happening → roll it out everywhere → keep the repo it pushes to configured the way you meant.

Tool Reach for it when…
gss An agent is about to touch git
tmux-mgr One agent isn’t fast enough
gsl You can’t tell how much context is left
fleet You have more machines than you can ssh into
gff “Skip that step on this machine”
wlink ssh host hangs from WSL but ssh works
wol The machine you need is powered off
gcfg Someone changed a repo setting and nobody knows who
ghapp A workflow needs admin rights GITHUB_TOKEN hasn’t got
libs You’re writing tool #8

→ What each tool solves, with demos


🚀 Quick Start

git clone https://github.com/sfc-gh-eraigosa/dotfiles.git ~/git/dotfiles
~/git/dotfiles/install.sh

The installer is interactive — prompts are front-loaded, but on Windows/WSL the Desktop deploy runs at the end, so stay nearby. It symlinks core configs (.zshrc, .tmux.conf, …) into $HOME, initializes nvm/pyenv/goenv/rbenv, builds the SDK binaries into ~/opt/bin/, and installs both assistants pre-loaded with the shared skills.


🤖 Agent Configuration

Both assistants read the same skills, hooks, and progressive context — write a skill once, use it in either.

  • Shared skills — every SKILL.md is linked into both assistants by sync-skills. ai/skills/
  • Safety hooks — the same guard scripts block rm -rf * and gate gss push. ai/hooks/
  • Agent teams — specialized personas installed as native subagents. ai/teams/
  • Declarative plugins — extensions defined in code, auto-synced. docs/ai-plugins.md
  • Progressive context — AGENTS.md at each level (CLAUDE.md is a symlink to it).

Choosing between them: Claude Code for long-context multi-file refactors and slash-command workflows; Antigravity for fast tool-call loops and repos with .agents/ config. Either works headless in a tmux pane. You can switch mid-project — they read the same context.


📂 Structure

Path Description
sdk/ Go tools — gss, tmux-mgr, gsl, fleet, gff, wlink, wol, gcfg, ghapp, libs.
opt/bin/ · opt/profiles/ Utility scripts (on $PATH) and shell configuration.
src/ Non-Go tooling and agent skills.
ai/ Assistant config: skills, hooks, teams, plugin manifest.
docs/ Documentation; design work starts in docs/mbo/.

⌨️ Common Commands

Command Action
/gss · /gss-scan · /gss-pr Repo status · find dirty repos · open a PR
/tmux-agent Spawn / list / fan-in parallel agents
/ssh-find · /ssh-keys Discover a host’s IP · manage keys across hosts
gss push Safely backup, sync, and push
fleet status · fleet tui Which hosts are out of sync · interactive dashboard
gcfg verify · gcfg apply Is this repo configured as declared · make it so

🍎 macOS-Style Keyboard (on by default)

Heads up: this repo deliberately makes every machine’s keyboard behave like a Mac. install.sh turns this on by default, so a fresh install will change your shortcuts. The goal is one set of muscle memory everywhere — the same Cmd+C works on the Windows box, the Linux desktop, and the Mac.

The Command key is Super (the ⊞/⌘ key next to Alt). Ctrl is left alone, so Ctrl+C is still SIGINT in a terminal.

Shortcut Action Shortcut Action
Cmd+C V X Copy / paste / cut Cmd+← → Start / end of line
Cmd+A Z ⇧Z Select all / undo / redo Cmd+↑ ↓ Top / bottom of document
Cmd+S F G Save / find / find next Cmd+⇧+←→↑↓ …and select while moving
Cmd+T ⇧T W New tab / reopen / close Opt+⌫ Delete previous word
Cmd+1…9 Jump to tab N Cmd+⌫ Delete to start of line
Cmd+Q M H Quit / minimize / hide Cmd+[ ] Browser back / forward
Cmd+Tab Switch application Cmd+Opt+←→↑↓ Tile / maximize window
Cmd+Space Spotlight (Activities search) Cmd+L Lock screen
(tap Cmd alone) Nothing, as on macOS

In a terminal the destructive chords are handled for you: Cmd+C copies (never SIGINT), and Cmd+S / Cmd+Z / Cmd+D are inert rather than freezing, suspending, or logging out of your shell.

Turning it off

One flag covers every OS — Linux (keyd + GNOME) and Windows (AutoHotkey + the Copilot-key remap):

gff set keyboard.macos.enabled false && ./install.sh   # leave every keyboard stock

To remove it from a Linux machine that already has it:

~/opt/scripts/system/macos-keys-linux.sh --uninstall

If a remap ever misbehaves, hold Backspace + Esc + Enter together to panic-quit the keyd daemon and get a stock keyboard back instantly.

Full key table, platform coverage, and troubleshooting: docs/macos-keys.md.


🖥️ Machine-Local Customization

Host-specific settings that would break other machines go in ~/.zshrc.local — sourced last, overrides everything, never tracked. See docs/machine-local-overrides.md.


🤝 Contributing

See CONTRIBUTING.md for the development workflow and how to validate changes with the Makefile. Merges go through the Mergify queue — docs/mergify.md.

Licensed under the Apache License, Version 2.0.


Safeguards: 🛡️ Turn Break Mandate, 🛠️ OS-Level GSS Confirmation, 🧪 27-Case Hook Test Suite, 🧪 Automated CI Validation.

View this README on GitHub

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add sfc-gh-eraigosa/dotfiles