Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
installer/gentleman.dots
installer/gentleman-test
installer/dist/
gentleman-dots

# E2E test artifacts
installer/e2e/gentleman-installer-*
Expand All @@ -12,3 +13,8 @@ CLAUDE.md
GEMINI.md
CODEX.md
.github/copilot-instructions.md

# Editor
.history
.idea
.vscode
49 changes: 33 additions & 16 deletions README.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,13 @@

## ¿Qué es esto?

Una configuración completa de entorno de desarrollo que incluye:

* **Neovim** con LSP, autocompletado y asistentes de IA (Claude Code, Gemini, OpenCode)
* **Shells**: Fish, Zsh, Nushell
* **Multiplexores de terminal**: Tmux, Zellij
* **Emuladores de terminal**: Alacritty, WezTerm, Kitty, Ghostty
Una configuración completa de entorno de desarrollo que incluye:

* **Neovim** con LSP, autocompletado y asistentes de IA
* **Asistentes de IA para programación**: OpenCode, Kilo Code (próximamente), Continue.dev (próximamente), Aider (próximamente)
* **Shells**: Fish, Zsh, Nushell
* **Multiplexores de terminal**: Tmux, Zellij
* **Emuladores de terminal**: Alacritty, WezTerm, Kitty, Ghostty

---

Expand Down Expand Up @@ -102,9 +103,14 @@ cd ~

> **Tip:** Después de la instalación, reiniciá Termux para aplicar la fuente y luego ejecutá `tmux` o `zellij` para iniciar el entorno configurado.

El instalador TUI te guía para seleccionar tus herramientas preferidas y maneja toda la configuración automáticamente.

> **Usuarios de Windows:** primero debés configurar WSL. Ver la [Guía de instalación manual](docs/manual-installation.md#windows-wsl).
El instalador TUI te guía para seleccionar tus herramientas preferidas y maneja toda la configuración automáticamente.

**Instalación Selectiva**: Cada paso de configuración (Terminal, Shell, Window Manager, Neovim, Asistentes de IA) incluye una opción "Saltar este paso". Esto te permite:
- Instalar solo componentes específicos (por ejemplo, solo Asistentes de IA)
- Mantener tus configuraciones existentes intactas
- Personalizar tu configuración exactamente como querés

> **Usuarios de Windows:** primero debés configurar WSL. Ver la [Guía de instalación manual](docs/manual-installation.md#windows-wsl).

---

Expand Down Expand Up @@ -188,13 +194,24 @@ Podés iniciarlo desde el menú principal: **Vim Mastery Trainer**
| ----------- | --------------------------------------- |
| **Neovim** | Config LazyVim con LSP, completado e IA |

### Prompts

| Herramienta | Descripción |
| ------------ | -------------------------------------- |
| **Starship** | Prompt multi-shell con integración Git |

---
### Prompts

| Herramienta | Descripción |
| ------------ | -------------------------------------- |
| **Starship** | Prompt multi-shell con integración Git |

### Asistentes de IA para programación

| Herramienta | Estado | Descripción |
| --------------- | --------------- | --------------------------------------------------- |
| **OpenCode** | ✅ Disponible | Completado y generación de código con contexto |
| **Kilo Code** | 🚧 Próximamente | Asistente de IA liviano y optimizado |
| **Continue.dev** | 🚧 Próximamente | Autopiloto open-source para desarrollo |
| **Aider** | 🚧 Próximamente | Pair programming con IA desde la terminal |

El instalador configura automáticamente los asistentes de IA seleccionados con skills desde `GentlemanClaude/skills/`.

---

## Bleeding Edge

Expand Down
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@

A complete development environment configuration including:

- **Neovim** with LSP, autocompletion, and AI assistants (Claude Code, Gemini, OpenCode)
- **Neovim** with LSP, autocompletion, and AI assistants
- **AI Coding Assistants**: OpenCode, Kilo Code (coming soon), Continue.dev (coming soon), Aider (coming soon)
- **Shells**: Fish, Zsh, Nushell
- **Terminal Multiplexers**: Tmux, Zellij
- **Terminal Emulators**: Alacritty, WezTerm, Kitty, Ghostty
Expand Down Expand Up @@ -99,6 +100,11 @@ cd ~

The TUI guides you through selecting your preferred tools and handles all the configuration automatically.

**Selective Installation**: Each configuration step (Terminal, Shell, Window Manager, Neovim, AI Assistants) includes a "Skip this step" option. This allows you to:
- Only install specific components (e.g., just AI Assistants)
- Keep your existing configurations intact
- Customize your setup exactly how you want it

> **Windows users:** You must set up WSL first. See the [Manual Installation Guide](docs/manual-installation.md#windows-wsl).

---
Expand Down Expand Up @@ -189,6 +195,17 @@ Launch it from the main menu: **Vim Mastery Trainer**
|------|-------------|
| **Starship** | Cross-shell prompt with Git integration |

### AI Coding Assistants

| Tool | Status | Description |
|------|--------|-------------|
| **OpenCode** | ✅ Available | Context-aware code completions and generation |
| **Kilo Code** | 🚧 Coming Soon | Lightweight, performance-focused AI assistant |
| **Continue.dev** | 🚧 Coming Soon | Open-source autopilot for development |
| **Aider** | 🚧 Coming Soon | Terminal-based AI pair programming |

The installer automatically configures your selected AI assistants with skills from `GentlemanClaude/skills/`.

---

## Bleeding Edge
Expand Down
85 changes: 81 additions & 4 deletions docs/manual-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ This guide walks you through manually setting up your development environment wi
- [Install a Shell](#4-install-a-shell)
- [Install Window Manager](#5-install-window-manager)
- [Install Neovim](#6-install-neovim)
- [Set Default Shell](#7-set-default-shell)
- [Restart](#8-restart)
- [Install AI Coding Assistants](#7-install-ai-coding-assistants-optional)
- [Set Default Shell](#8-set-default-shell)
- [Restart](#9-restart)

---

Expand Down Expand Up @@ -375,7 +376,83 @@ mkdir -p /path/to/your/notes/templates
# path = "/path/to/your/notes",
```

### 7. Set Default Shell
### 7. Install AI Coding Assistants (Optional)

The installer can set up AI coding assistants with pre-configured skills. You can install them manually:

#### OpenCode

```bash
# 1. Install OpenCode (if not already installed)
# Follow instructions at: https://opencode.ai/

# 2. Create skills directory
mkdir -p ~/.opencode/skills

# 3. Copy skills from Gentleman.Dots
cp -r ~/Gentleman.Dots/GentlemanClaude/skills/* ~/.opencode/skills/

# 4. Verify installation
ls ~/.opencode/skills/
```

#### Kilo Code (Coming Soon)

```bash
# 1. Install Kilo Code
# (Installation instructions will be added when available)

# 2. Create skills directory
mkdir -p ~/.kilocode/skills

# 3. Copy skills
cp -r ~/Gentleman.Dots/GentlemanClaude/skills/* ~/.kilocode/skills/
```

#### Continue.dev (Coming Soon)

```bash
# 1. Install Continue.dev
# Follow instructions at: https://continue.dev/

# 2. Create skills directory
mkdir -p ~/.continue/skills

# 3. Copy skills
cp -r ~/Gentleman.Dots/GentlemanClaude/skills/* ~/.continue/skills/
```

#### Aider (Coming Soon)

```bash
# 1. Install Aider
# Follow instructions at: https://aider.chat/

# 2. Create skills directory
mkdir -p ~/.aider/skills

# 3. Copy skills
cp -r ~/Gentleman.Dots/GentlemanClaude/skills/* ~/.aider/skills/
```

**Available Skills:**

The `GentlemanClaude/skills/` directory includes:
- `react-19/` - React 19 patterns and best practices
- `nextjs-15/` - Next.js 15 App Router and Server Components
- `typescript/` - TypeScript patterns and generics
- `tailwind-4/` - Tailwind CSS v4 utilities
- `zod-4/` - Zod validation schemas
- `zustand-5/` - Zustand state management
- `ai-sdk-5/` - Vercel AI SDK
- `django-drf/` - Django REST Framework
- `playwright/` - Playwright E2E testing
- `pytest/` - Python pytest patterns
- `skill-creator/` - Create new AI agent skills

Each assistant will automatically load these skills to provide context-aware coding assistance.

### 8. Set Default Shell

```bash
# Get path to your preferred shell (zsh, fish, or nu)
Expand All @@ -388,7 +465,7 @@ sudo chsh -s "$shell_path" "$USER"

> **Note:** Replace `zsh` with `fish` or `nu` depending on which shell you installed.

### 8. Restart
### 9. Restart

Close and reopen your terminal, or restart your computer/WSL instance for changes to take effect.

Expand Down
116 changes: 113 additions & 3 deletions docs/tui-installer.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,16 @@ From the main menu you can access:
4. **Shell**: Choose Nushell, Fish, Zsh, or None
5. **Window Manager**: Select Tmux, Zellij, or None
6. **Neovim**: Configure LazyVim with LSP and AI assistants
7. **Backup Confirmation**: Option to backup existing configs before overwriting
8. **Installation**: Watch real-time progress
7. **AI Coding Assistants**: Multi-select AI tools (OpenCode, Kilo Code, Continue.dev, Aider)
8. **Backup Confirmation**: Option to backup existing configs before overwriting
9. **Installation**: Watch real-time progress

**Skip Steps**: Each configuration screen (steps 2-7) includes a "⏭️ Skip this step" option. This is useful if you:
- Already have terminal/shell configurations you want to keep
- Only want to install specific components (e.g., just AI Assistants)
- Need to customize certain tools manually before running the installer

Skipped steps won't be installed or configured. For example, selecting "Skip this step" on the Terminal screen will keep your current terminal setup unchanged.

### Keyboard Shortcuts

Expand All @@ -85,6 +93,7 @@ From the main menu you can access:
| `↑` / `k` | Move up |
| `↓` / `j` | Move down |
| `Enter` / `Space` | Select option |
| `Space` | Toggle checkbox (AI Assistants screen) |
| `Esc` | Go back |
| `q` | Quit (when not installing) |
| `d` | Toggle details (during installation) |
Expand Down Expand Up @@ -122,6 +131,7 @@ gentleman.dots --non-interactive --shell=<shell> [options]
| `--nvim` | | Install Neovim configuration |
| `--font` | | Install Nerd Font |
| `--backup` | `true`/`false` | Backup existing configs (default: true) |
| `--ai` | `opencode`, `kilocode`, `continue`, `aider` | AI assistants (comma-separated) |

### Examples

Expand All @@ -132,6 +142,12 @@ gentleman.dots
# Non-interactive with Fish + Zellij + Neovim
gentleman.dots --non-interactive --shell=fish --wm=zellij --nvim

# Non-interactive with OpenCode AI assistant
gentleman.dots --non-interactive --shell=zsh --nvim --ai=opencode

# Multiple AI assistants
gentleman.dots --non-interactive --shell=fish --ai=opencode,continue

# Test mode with Zsh + Tmux (no terminal, no nvim)
gentleman.dots --test --non-interactive --shell=zsh --wm=tmux

Expand All @@ -142,6 +158,86 @@ gentleman.dots --dry-run
GENTLEMAN_VERBOSE=1 gentleman.dots --non-interactive --shell=fish --nvim
```

## AI Coding Assistants

The installer supports multiple AI coding assistants that integrate with your development environment. You can select one or more assistants during installation.

### Available Assistants

| Assistant | Status | Description |
|-----------|--------|-------------|
| **OpenCode** | ✅ Available Now | Open-source AI coding assistant with context-aware completions |
| **Kilo Code** | 🚧 Coming Soon | Lightweight AI assistant optimized for performance |
| **Continue.dev** | 🚧 Coming Soon | Open-source autopilot for software development |
| **Aider** | 🚧 Coming Soon | AI pair programming in the terminal |

### How It Works

1. **Selection Screen**: Use `Space` to toggle checkboxes for each assistant
2. **Skills Installation**: Selected assistants will have their skills installed to `~/.{assistant}/skills/`
3. **Independent Installation**: AI assistants install independently from Neovim
4. **Configuration**: Each assistant uses its own configuration directory

### Interactive Mode

During installation, you'll see the AI Assistants screen:

```
Step 7: AI Coding Assistants
Select AI coding assistants (Space to toggle, Enter to confirm)

[ ] OpenCode
[ ] Kilo Code (Coming Soon)
[ ] Continue.dev (Coming Soon)
[ ] Aider (Coming Soon)
─────────────
✅ Confirm Selection
← Back
```

- **Navigation**: Use `↑`/`↓` or `j`/`k` to move
- **Toggle**: Press `Space` to select/deselect
- **Confirm**: Press `Enter` on "Confirm Selection"
- **Skip**: Leave all unchecked and confirm to skip

### Non-Interactive Mode

Use the `--ai` flag with comma-separated values:

```bash
# Single assistant
gentleman.dots --non-interactive --shell=fish --ai=opencode

# Multiple assistants
gentleman.dots --non-interactive --shell=fish --ai=opencode,continue

# No AI assistants (omit the flag)
gentleman.dots --non-interactive --shell=fish --nvim
```

### Skills Directory

Skills are installed to:

| Assistant | Skills Location |
|-----------|-----------------|
| OpenCode | `~/.opencode/skills/` |
| Kilo Code | `~/.kilocode/skills/` |
| Continue.dev | `~/.continue/skills/` |
| Aider | `~/.aider/skills/` |

### Manual Installation

If you want to install AI assistants later:

```bash
# OpenCode example
mkdir -p ~/.opencode/skills
cp -r ~/Gentleman.Dots/GentlemanClaude/skills/* ~/.opencode/skills/
```

See [Manual Installation](./manual-installation.md) for detailed steps.

## Backup & Restore

### Automatic Backup Detection
Expand All @@ -161,6 +257,10 @@ The installer automatically detects existing configurations for:
| Kitty | `~/.config/kitty` |
| Ghostty | `~/.config/ghostty` |
| Starship | `~/.config/starship.toml` |
| OpenCode | `~/.opencode` |
| Kilo Code | `~/.kilocode` |
| Continue.dev | `~/.continue` |
| Aider | `~/.aider` |

### Backup Location

Expand Down Expand Up @@ -209,7 +309,17 @@ The installer includes educational content to help you understand each tool:

- LazyVim configuration
- LSP setup
- AI assistants (OpenCode, Claude, Copilot, etc.)
- Treesitter syntax highlighting
- Modern plugin ecosystem

### AI Assistants

| Assistant | Description |
|-----------|-------------|
| OpenCode | Context-aware code completions and generation |
| Kilo Code | Lightweight, performance-focused AI assistant |
| Continue.dev | Open-source autopilot for development |
| Aider | Terminal-based AI pair programming |

## Requirements

Expand Down
Loading