Receber por email
← Voltar para o catálogo

dotfiles-development

Use when working in this dotfiles repository - modifying shell configs, SSH, neovim, or scripts. Covers symlink architecture, agent selection, and permission model.

0estrelas
Atualizado há 9 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add JamesPrial/skills

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/dotfiles-development/svg)](https://www.skillteca.com.br/skills/dotfiles-development)

Skills relacionadas

Ver todas de Outros →

Alerta por categoria

Receba novas skills de Outros toda segunda

1 email curto, só com as skills novas de Outros. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Dotfiles Development

Symlink Architecture

~/.dotfiles -> <repo>               # Primary anchor (points to repo root)
~/.zshrc                            # Bootstrap file (sources ~/.dotfiles/zshrc)
~/.ssh/config -> ~/.dotfiles/ssh/config
~/.config/nvim -> ~/.dotfiles/nvim
~/.claudescripts -> ~/.dotfiles/claudescripts

All paths resolve through ~/.dotfiles. Scripts find the repo via:

DOTFILES_DIR="$(readlink -f "$HOME/.dotfiles")"

Agent Selection

digraph agent_selection {
    "Task type?" [shape=diamond];
    "Git operation?" [shape=diamond];
    "GitHub/Actions?" [shape=diamond];
    "Writing script?" [shape=diamond];

    "git-ops (Haiku)" [shape=box];
    "gh-cli-expert (Sonnet)" [shape=box];
    "bash-script-architect + bash-tdd-architect (parallel)" [shape=box];
    "devops-infra-lead (Sonnet)" [shape=box];
    "No agent needed" [shape=box];

    "Task type?" -> "Git operation?";
    "Git operation?" -> "git-ops (Haiku)" [label="yes"];
    "Git operation?" -> "GitHub/Actions?" [label="no"];
    "GitHub/Actions?" -> "gh-cli-expert (Sonnet)" [label="yes"];
    "GitHub/Actions?" -> "Writing script?" [label="no"];
    "Writing script?" -> "bash-script-architect + bash-tdd-architect (parallel)" [label="yes"];
    "Writing script?" -> "devops-infra-lead (Sonnet)" [label="infra/CI work"];
    "Writing script?" -> "No agent needed" [label="config edit"];
}

| Agent | Model | Use For | |-------|-------|---------| | git-ops | Haiku | All git operations - commits, branches, status. Isolates git context from main conversation. | | bash-script-architect | Haiku | Writing/debugging bash scripts | | bash-tdd-architect | inherit | TDD for bash scripts - runs IN PARALLEL with bash-script-architect | | gh-cli-expert | Sonnet | GitHub Actions failures, PR management, gh CLI | | devops-infra-lead | Sonnet | Infrastructure, CI/CD, system admin |

Important: For committing changes, use the git-ops agent (not generic skills). It keeps git output isolated from the main context window.

TDD for Scripts: When writing or modifying bash scripts, launch bash-tdd-architect IN PARALLEL with bash-script-architect. The TDD agent designs behavior-driven tests BEFORE seeing implementation, ensuring true test-first development.

Wrapper Scripts (claudescripts/)

| Script | Model | Purpose | |--------|-------|---------| | push | Haiku | Quick commit/push with conventional commits | | ghcli | Sonnet | GitHub CLI operations | | support | Opus | Bash debugging with web search |

Accessed via ~/.claudescripts symlink (in PATH).

Adding New Configurations

| Step | Action | Script to Update | |------|--------|------------------| | 1 | Add file to repo root (no dot prefix) | — | | 2 | Add chmod line for permissions | fix-perms (bin/dotfiles-fix-perms) | | 3 | Add symlink if needed | install (bin/dotfiles-install) |

Detailed steps:

  1. Add file to repo root (no dot prefix in name)
  2. Update fix-perms — Add chmod line to bin/dotfiles-fix-perms:
  3. Scripts/dirs: chmod 700
  4. Config files: chmod 600
  5. Update install (if needed) — Add symlink to setup_symlinks() in bin/dotfiles-install
Common mistake: Forgetting the fix-perms step. Every new file needs a chmod line.

Permission Model

| Type | Permission | Example | |------|------------|---------| | Directories | 700 | nvim/, bin/ | | Scripts | 700 | bin/dotfiles-install, bin/dotfiles-sync | | Config files | 600 | zshrc, ssh/config |

Git hooks auto-fix permissions on pulls via bin/dotfiles-fix-perms.

Testing Changes

source ~/.zshrc                      # Reload shell config
./bin/dotfiles-install               # Safe to re-run (idempotent)
ls -la                               # Verify permissions

Common Mistakes

| Mistake | Fix | |---------|-----| | Adding dot prefix to files | Use zshrc not .zshrc - symlinks add the dot | | Forgetting fix-perms | Every new file needs a chmod line in bin/dotfiles-fix-perms | | Wrong permission value | Scripts=700, configs=600 | | Editing ~/.zshrc directly | Edit zshrc at repo root - bootstrap file just sources it | | Hardcoding paths | Use $HOME/.dotfiles or resolve via symlink |

Key Files

  • bin/dotfiles-install - Bootstrap, symlinks, dependencies
  • bin/dotfiles-fix-perms - Permission management
  • bin/dotfiles-sync - Pull and fix permissions
  • CLAUDE.md - Repository overview
  • bin/CLAUDE.md - Scripts documentation
Compartilhar X LinkedIn