Skip to content

sfc-gh-eraigosa/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

875 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ› οΈ Dotfiles & Agent Environment

Docker Image CI Gemini CLI Claude Code

A modernized, agent-first development environment for macOS and Linux. This repository bridges the gap between traditional terminal tools and AI-assisted engineering β€” and supports more than one assistant.


✨ Core Pillars

πŸ€– Multi-Assistant Workflow

First-class integration with both Gemini CLI and Claude Code. Each assistant reads the same skills, the same progressive context, and the same safety rules β€” driven by a single source of truth in src/ and ai/.

  • Custom Skills: Specialized instructions for Git (gss), Tmux (tmux-mgr), and SSH management β€” shared across assistants via symlinks.
  • Slash Commands: /gss, /gss-scan, /gss-pr, /tmux-agent, /ssh-find, /ssh-keys (Claude); /gss (Gemini).
  • Safety Hooks: A PreToolUse hook (Claude) and TOML policies (Gemini) enforce the same rules β€” block rm -rf *, require explicit confirmation for gss push, etc.
  • Continuous Validation: CI/CD pipeline runs unit tests, integration tests, and a 27-case hook test suite on every push.

πŸ”„ Safe Repository Management (gss)

Stop worrying about broken rebases or lost work.

  • Safety Backups: Every push triggers an automatic timestamped backup branch.
  • Workspace Scanning: Instantly identify uncommitted changes across your entire ~/git tree.
  • Approval-Token Handshake: Assistants cannot push autonomously β€” a fresh ~/.config/gss/approval.token is required and matched against current HEAD.

πŸͺŸ Terminal Introspection (tmux-mgr)

Gives your AI agents "eyes" into your terminal state.

  • Content Capture: Agents can capture and analyze the history of any pane.
  • Layout Persistence: Save and restore complex project environments with one command.
  • Parallel Agent Orchestration: tmux-mgr agent start provisions isolated git worktrees for fan-out work.

πŸ€– AI Configuration Framework

This repository treats the AI assistant as a first-class citizen of the developer environment.

  • Unified Infrastructure: Manage settings, policies, and manifests for both Claude and Gemini. See ai/GEMINI.md.
  • Declarative Plugins: Extensions are defined in code and auto-synced. See docs/ai-plugins.md.
  • Portable Skills: Write a skill once in src/, use it in any assistant. See ai/skills/.
  • Automated Sync: sync-plugins and sync-skills keep your environment in state.

πŸš€ Quick Start

1. Installation

Clone the repo and run the idempotent installer:

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

2. What to Expect

  • Seamless Linking: Core configs (.zshrc, .tmux.conf, etc.) are symlinked to your $HOME.
  • Toolchain Readiness: nvm, pyenv, goenv, and rbenv are initialized and ready.
  • Assistant Activation: Both Gemini CLI and Claude Code are installed and pre-loaded with the custom skills from src/.

πŸ€” Choosing Your Assistant

Both Gemini and Claude have access to the same skills and tools β€” pick by workflow fit.

Use case Best fit Why
Long-context refactor across many files Claude Code Larger context window, strong multi-file editing
Fast tool-call loops with short prompts Gemini CLI Lower latency per turn
Headless autonomous runs in tmux panes Either tmux-mgr agent start works with both
Slash-command driven workflows Claude Code More slash commands wired (/gss-scan, /gss-pr, /tmux-agent, /ssh-find, /ssh-keys)
Repos with .gemini/ policies already present Gemini CLI Native TOML policy support

You can switch between them in the same project β€” they read the same GEMINI.md/CLAUDE.md context (the latter is a symlink to the former).


πŸ› οΈ Development with Your Assistant

This repository is designed to be maintained with your AI assistant.

  • Syncing: "Sync my dotfiles" β€” the assistant uses gss to backup and push safely (always asks first).
  • Updating: "Add a new alias to my zshrc" or "Fix my brew permissions".
  • Discovery: Use /gss in either assistant for current repo status; Claude also has /gss-scan, /gss-pr.

πŸ“‚ Structure

Path Description
opt/bin/ Specialized scripts and binaries (in your $PATH).
opt/profiles/ Core shell and tool configurations.
src/ Source code for custom tools and Agent Skills (SKILL.md files, shared across assistants).
ai/gemini/ Gemini-specific commands, policies, settings.
ai/claude/ Claude-specific commands, settings, hooks.
GEMINI.md / CLAUDE.md Progressive context (CLAUDE.md is a symlink to GEMINI.md at each level).

πŸ–₯️ Machine-Local Customization

Some settings differ per host β€” a different CLI launcher, work credentials, or function overrides that would break other machines if committed. Use ~/.zshrc.local for this: it is sourced last by .zshrc, overrides anything in the shared config, and is never tracked in this repo.

See docs/machine-local-overrides.md for usage and examples.


⌨️ Common Commands

Command Action
/gss (In either assistant) Quick status summary and help.
/gss-scan (Claude) Find dirty repos across ~/git.
/gss-pr (Claude) Create a feature branch and open a PR.
/tmux-agent (Claude) Spawn / list / fan-in parallel agents.
/ssh-find <alias> (Claude) Discover SSH host IP on local subnet.
/ssh-keys (Claude) List / generate / delete keys across hosts.
gss push Safely backup, sync, and push the current repo.
tmux-mgr save Save current tmux window layout.
vimw / vimg Open Vim with White or Green color profiles.

🀝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for details on our development workflow, testing procedures, and how to use the Makefile to validate your changes.


πŸ“„ License

Licensed under the Apache License, Version 2.0.


Safeguards: πŸ›‘οΈ Turn Break Mandate, πŸ› οΈ OS-Level GSS Confirmation, πŸ§ͺ 27-Case Hook Test Suite, and πŸ§ͺ Automated CI Validation active.

About

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

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors