configs-all 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +3 -0
- package/CLAUDE.md +94 -0
- package/README.md +424 -0
- package/TERMINAL_SHORTCUTS.md +96 -0
- package/WINDOWS_COMPATIBILITY.md +85 -0
- package/WINDOWS_MCP_SETUP.md +133 -0
- package/apps/RectangleConfig.plist +0 -0
- package/apps/Synergy +84 -0
- package/apps/iStat Menus Settings.ismp7 +0 -0
- package/claude/CLAUDE.md +228 -0
- package/claude/commands/changelog.md +36 -0
- package/claude/commands/commit.md +29 -0
- package/claude/commands/context.md +112 -0
- package/claude/commands/dash.md +37 -0
- package/claude/commands/deploy-check.md +37 -0
- package/claude/commands/deps.md +26 -0
- package/claude/commands/duplo.md +56 -0
- package/claude/commands/explain.md +43 -0
- package/claude/commands/fix-and-test.md +46 -0
- package/claude/commands/game-debug.md +66 -0
- package/claude/commands/games.md +53 -0
- package/claude/commands/go.md +147 -0
- package/claude/commands/guard.md +102 -0
- package/claude/commands/handoff.md +66 -0
- package/claude/commands/incident.md +144 -0
- package/claude/commands/init.md +78 -0
- package/claude/commands/k8s-debug.md +31 -0
- package/claude/commands/lint.md +27 -0
- package/claude/commands/merge-all.md +115 -0
- package/claude/commands/merge.md +129 -0
- package/claude/commands/mikpc.md +54 -0
- package/claude/commands/morning.md +72 -0
- package/claude/commands/partymode.md +105 -0
- package/claude/commands/plans.md +88 -0
- package/claude/commands/pr.md +41 -0
- package/claude/commands/prep.md +132 -0
- package/claude/commands/push-sync.md +82 -0
- package/claude/commands/push.md +34 -0
- package/claude/commands/research.md +73 -0
- package/claude/commands/retro.md +95 -0
- package/claude/commands/review-pr.md +96 -0
- package/claude/commands/review.md +41 -0
- package/claude/commands/scaffold-agent.md +45 -0
- package/claude/commands/setup.md +92 -0
- package/claude/commands/ship-prod.md +97 -0
- package/claude/commands/ship.md +82 -0
- package/claude/commands/simplify.md +42 -0
- package/claude/commands/spike.md +110 -0
- package/claude/commands/status.md +37 -0
- package/claude/commands/sync.md +72 -0
- package/claude/commands/test.md +29 -0
- package/claude/commands/triage.md +72 -0
- package/claude/desktop/claude_desktop_config.json +9 -0
- package/claude/hooks.json +15 -0
- package/claude/mcp-servers.duplo.json +8 -0
- package/claude/mcp-servers.json +62 -0
- package/claude/scripts/psdebug.ps1 +7 -0
- package/claude/settings.json +38 -0
- package/claude/settings.local.json +4 -0
- package/claude/statusline-command.sh +94 -0
- package/claude/templates/CLAUDE-k8s-devops.md +58 -0
- package/claude/templates/CLAUDE-python-agent.md +47 -0
- package/claude/templates/CLAUDE-typescript-frontend.md +50 -0
- package/docker/ai-stack/docker-compose.yml +76 -0
- package/docker/ai-stack/searxng/limiter.toml +3 -0
- package/docker/ai-stack/searxng/settings.yml +39 -0
- package/docker/cli/config.json.template +15 -0
- package/docker/cli/daemon.json +9 -0
- package/docker/cli/features.json +3 -0
- package/docker/mcp/catalog.json +9 -0
- package/docker/mcp/catalogs/docker-mcp.yaml +15107 -0
- package/docker/mcp/config.yaml +0 -0
- package/docker/mcp/registry.yaml +37 -0
- package/docker/mcp/tools.yaml +0 -0
- package/docs/context/.gitkeep +0 -0
- package/docs/context/2026-03-02-configs.md +142 -0
- package/docs/handoff/.gitkeep +0 -0
- package/docs/incidents/.gitkeep +0 -0
- package/docs/plans/2026-02-28-autonomous-command-suite-design.md +250 -0
- package/docs/plans/2026-02-28-autonomous-command-suite.md +682 -0
- package/docs/plans/2026-03-01-ai-stack-split-architecture.md +72 -0
- package/docs/plans/2026-03-02-ai-stack-expansion.md +33 -0
- package/docs/plans/2026-03-02-merge-commands-design.md +58 -0
- package/docs/plans/2026-03-02-merge-commands.md +354 -0
- package/docs/research/.gitkeep +0 -0
- package/docs/research/2026-03-02-configs-repo-architecture.md +152 -0
- package/docs/retros/.gitkeep +0 -0
- package/docs/retros/2026-03-01-ai-stack-split-architecture.md +38 -0
- package/docs/spikes/.gitkeep +0 -0
- package/gh/config.yml +16 -0
- package/gh/hosts.yml +5 -0
- package/gh/main.json +103 -0
- package/ghostty/config +90 -0
- package/git/config/base.gitconfig +46 -0
- package/git/config/chiefmikey.gitconfig +11 -0
- package/git/config/personal.gitconfig +10 -0
- package/git/config/work.gitconfig +14 -0
- package/ide/cursor/extensions.txt +111 -0
- package/ide/cursor/keybindings.json +307 -0
- package/ide/cursor/mcp.json +92 -0
- package/ide/cursor/settings.json +544 -0
- package/ide/vscode/extensions.txt +120 -0
- package/ide/vscode/insiders/extensions.txt +119 -0
- package/ide/vscode/insiders/keybindings.json +294 -0
- package/ide/vscode/insiders/settings.json +518 -0
- package/ide/vscode/keybindings.json +294 -0
- package/ide/vscode/settings.json +526 -0
- package/ide/vscode/vscode/extensions.txt +43 -0
- package/iterm/Mikey Pro.json +951 -0
- package/iterm/com.googlecode.iterm2.plist +5549 -0
- package/iterm/font/MesloLGS NF Bold Italic.ttf +0 -0
- package/iterm/font/MesloLGS NF Bold.ttf +0 -0
- package/iterm/font/MesloLGS NF Italic.ttf +0 -0
- package/iterm/font/MesloLGS NF Regular.ttf +0 -0
- package/package.json +15 -0
- package/scripts/ai/deploy-ai-stack.sh +119 -0
- package/scripts/ai/fix-ai-proxy.service +12 -0
- package/scripts/ai/fix-ai-proxy.sh +25 -0
- package/scripts/brew/search/brew-search-results.sh +19 -0
- package/scripts/brew/search/brew-search.sh +34 -0
- package/scripts/brew/upgrade/brew-upgrade-autoupdate.sh +5 -0
- package/scripts/brew/upgrade/brew-upgrade-full-auto.sh +89 -0
- package/scripts/brew/upgrade/brew-upgrade-full.sh +159 -0
- package/scripts/docker/cleanup/docker-cleanup-manage.sh +163 -0
- package/scripts/docker/cleanup/docker-cleanup.cron +12 -0
- package/scripts/docker/cleanup/docker-cleanup.sh +280 -0
- package/scripts/docker/install/README.md +23 -0
- package/scripts/docker/install/docker-al2.sh +7 -0
- package/scripts/docker/install/docker-compose-al2.sh +15 -0
- package/scripts/gh/auth/auth.sh +12 -0
- package/scripts/gh/config/gh-config.sh +3 -0
- package/scripts/gh/gist/gh-gist-create.sh +29 -0
- package/scripts/gh/gist/gh-gist-delete.sh +1 -0
- package/scripts/gh/gist/gh-gist-edit.sh +8 -0
- package/scripts/gh/gpg-key/gh-gpg-key-add.sh +3 -0
- package/scripts/gh/install/install.sh +7 -0
- package/scripts/gh/label/gh-label-clone.sh +0 -0
- package/scripts/gh/label/gh-label-create.sh +0 -0
- package/scripts/gh/label/gh-label-delete.sh +0 -0
- package/scripts/gh/label/gh-label-edit.sh +0 -0
- package/scripts/gh/label/gh-label-list.sh +0 -0
- package/scripts/gh/secret/gh-secret-delete.sh +24 -0
- package/scripts/gh/secret/gh-secret-set.sh +70 -0
- package/scripts/gh/ssh-key/gh-ssh-key-add.sh +8 -0
- package/scripts/git/add/git-add.sh +3 -0
- package/scripts/git/auth/README.md +11 -0
- package/scripts/git/auth/https.sh +20 -0
- package/scripts/git/auth/ssh-mac.sh +41 -0
- package/scripts/git/branch-delete/git-branch-delete.sh +16 -0
- package/scripts/git/checkout/git-checkout-stash.sh +32 -0
- package/scripts/git/temp/git-temp-pull.sh +6 -0
- package/scripts/git/temp/git-temp-push.sh +5 -0
- package/scripts/install/fresh.zsh +34 -0
- package/scripts/install/full-install.zsh +193 -0
- package/scripts/linux/codedeploy/README.md +19 -0
- package/scripts/linux/codedeploy/linux-codedeploy-al2.sh +13 -0
- package/scripts/linux/codedeploy/linux-codedeploy-index.sh +16 -0
- package/scripts/linux/codedeploy/linux-codedeploy-ubuntu.sh +14 -0
- package/scripts/linux/coredns/README.md +17 -0
- package/scripts/linux/coredns/linux-coredns-al2.sh +29 -0
- package/scripts/linux/wifi/01-netconf.yaml +21 -0
- package/scripts/linux/wifi/wifi-ubuntu.sh +17 -0
- package/scripts/mac/dock-sort/mac-dock-sort.sh +87 -0
- package/scripts/mac/dropbox-ignore/mac-dropbox-ignore.sh +12 -0
- package/scripts/mac/sudo-askpass/mac-sudo-askpass.sh +50 -0
- package/scripts/mac/sudo-askpass/setup-sudo-password.sh +49 -0
- package/scripts/mac/upgrade/mac-upgrade.sh +21 -0
- package/scripts/mac/vpn/mac-vpn.sh +4 -0
- package/scripts/mcp/aws-mcp-wrapper.ps1 +97 -0
- package/scripts/mcp/aws-mcp-wrapper.sh +53 -0
- package/scripts/mcp/duplo-mcp-wrapper.sh +31 -0
- package/scripts/mcp/filesystem-mcp-wrapper.ps1 +43 -0
- package/scripts/mcp/filesystem-mcp-wrapper.sh +34 -0
- package/scripts/mcp/git-mcp-wrapper.ps1 +42 -0
- package/scripts/mcp/git-mcp-wrapper.sh +33 -0
- package/scripts/mcp/github-mcp-wrapper.ps1 +43 -0
- package/scripts/mcp/github-mcp-wrapper.sh +19 -0
- package/scripts/mcp/kubernetes-mcp-wrapper.ps1 +22 -0
- package/scripts/mcp/kubernetes-mcp-wrapper.sh +16 -0
- package/scripts/mcp/mcp-launcher.ps1 +56 -0
- package/scripts/mcp/mcp-launcher.sh +71 -0
- package/scripts/mcp/mongodb-mcp-wrapper.ps1 +26 -0
- package/scripts/mcp/mongodb-mcp-wrapper.sh +17 -0
- package/scripts/mcp/notion-mcp-wrapper.ps1 +23 -0
- package/scripts/mcp/notion-mcp-wrapper.sh +14 -0
- package/scripts/mcp/postgres-mcp-wrapper.ps1 +23 -0
- package/scripts/mcp/postgres-mcp-wrapper.sh +16 -0
- package/scripts/npm/ncu/npm-ncu.sh +24 -0
- package/scripts/npm/upgrade/npm-upgrade.sh +51 -0
- package/scripts/qmk/build_reviung41.sh +28 -0
- package/scripts/qmk/sync_unicorne.sh +44 -0
- package/scripts/sync/README.md +64 -0
- package/scripts/sync/config-common.zsh +882 -0
- package/scripts/sync/pull-configs.ps1 +33 -0
- package/scripts/sync/pull-configs.zsh +278 -0
- package/scripts/sync/push-configs.ps1 +91 -0
- package/scripts/sync/push-configs.zsh +384 -0
- package/shell/alias/alias-d.zsh +333 -0
- package/shell/alias/alias.zsh +36 -0
- package/shell/alias/categories/development.zsh +157 -0
- package/shell/alias/categories/environment.zsh +13 -0
- package/shell/alias/categories/git.zsh +40 -0
- package/shell/alias/categories/github-functions.zsh +459 -0
- package/shell/alias/categories/network.zsh +46 -0
- package/shell/alias/categories/path.zsh +46 -0
- package/shell/alias/categories/system.zsh +78 -0
- package/shell/alias/categories/wolfe-server.zsh +11 -0
- package/shell/powershell/Microsoft.PowerShell_profile.ps1 +208 -0
- package/shell/zsh/.p10k.zsh +1832 -0
- package/shell/zsh/.zshrc +87 -0
- package/shell/zsh/config/completion.zsh +31 -0
- package/shell/zsh/config/functions.zsh +31 -0
- package/shell/zsh/config/keybindings.zsh +13 -0
- package/shell/zsh/config/options.zsh +56 -0
- package/shell/zsh/config/plugins.zsh +83 -0
- package/shell/zsh/config/variables.zsh +191 -0
- package/shell/zsh/powerlevel10k.zsh-theme +83 -0
- package/shell/zsh/zsh-autosuggestions.zsh +871 -0
- package/ssh/config +46 -0
- package/ssh/config.duplo +21 -0
- package/ssh/config.mikpc +35 -0
- package/ssh/personal_signing.pub +1 -0
- package/templates/.envrc.example +34 -0
- package/templates/.envrc.quickstart +17 -0
- package/wezterm/wezterm.lua +249 -0
- package/wsl/.wslconfig +3 -0
- package/wsl/wsl.conf +18 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Windows Compatibility Handling
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The configuration sync scripts properly handle Windows compatibility by:
|
|
6
|
+
1. **Detecting platform** (Mac vs Windows/WSL)
|
|
7
|
+
2. **Including only compatible configs** in the file list
|
|
8
|
+
3. **Using correct paths** for Windows applications
|
|
9
|
+
4. **Skipping Mac-only configs** entirely
|
|
10
|
+
|
|
11
|
+
## Platform Detection
|
|
12
|
+
|
|
13
|
+
The scripts detect the platform using:
|
|
14
|
+
- `IS_MAC=true` on macOS
|
|
15
|
+
- `IS_WINDOWS=true` on Windows/WSL
|
|
16
|
+
- Detected via `OSTYPE` and `/proc/version` checks
|
|
17
|
+
|
|
18
|
+
## Mac-Only Configs (Skipped on Windows)
|
|
19
|
+
|
|
20
|
+
These configurations are **only included** when `IS_MAC == true`:
|
|
21
|
+
|
|
22
|
+
1. **iTerm2** (`iterm/com.googlecode.iterm2.plist`)
|
|
23
|
+
- Mac-only terminal application
|
|
24
|
+
- Not included in `get_all_configs()` on Windows
|
|
25
|
+
|
|
26
|
+
2. **Rectangle** (`apps/RectangleConfig.plist`)
|
|
27
|
+
- Mac-only window manager
|
|
28
|
+
- Not included in `get_all_configs()` on Windows
|
|
29
|
+
|
|
30
|
+
3. **iStat Menus** (`apps/iStat Menus Settings.ismp7`)
|
|
31
|
+
- Mac-only system monitor
|
|
32
|
+
- Not included in `get_all_configs()` on Windows
|
|
33
|
+
|
|
34
|
+
## Cross-Platform Configs (Work on Both)
|
|
35
|
+
|
|
36
|
+
These configurations work on both Mac and Windows:
|
|
37
|
+
|
|
38
|
+
### Shell Configuration
|
|
39
|
+
- **Zsh** (`.zshrc`) - Works in WSL on Windows
|
|
40
|
+
- **Powerlevel10k theme** - Works in WSL
|
|
41
|
+
|
|
42
|
+
### Git Configuration
|
|
43
|
+
- **Base gitconfig** - Cross-platform
|
|
44
|
+
- **Host-specific gitconfig** - Cross-platform (personal.gitconfig for mikpc)
|
|
45
|
+
|
|
46
|
+
### IDE Configuration
|
|
47
|
+
- **VS Code** - Windows paths: `/mnt/c/Users/${WINDOWS_USER}/AppData/Roaming/Code/User/`
|
|
48
|
+
- **VS Code Insiders** - Windows paths: `/mnt/c/Users/${WINDOWS_USER}/AppData/Roaming/Code - Insiders/User/`
|
|
49
|
+
- **Cursor** - Windows paths: `/mnt/c/Users/${WINDOWS_USER}/AppData/Roaming/Cursor/User/`
|
|
50
|
+
|
|
51
|
+
### Development Tools
|
|
52
|
+
- **GitHub CLI** (`gh/config.yml`, `gh/hosts.yml`) - Cross-platform
|
|
53
|
+
- **SSH config** (`ssh/config`) - Cross-platform
|
|
54
|
+
- **Docker configs** - Cross-platform (all Docker MCP and CLI configs)
|
|
55
|
+
|
|
56
|
+
### Applications
|
|
57
|
+
- **Synergy** - Works on both platforms with different paths:
|
|
58
|
+
- Mac: `${HOME}/Library/Preferences/Synergy/synergy.conf`
|
|
59
|
+
- Windows: `/mnt/c/Users/${WINDOWS_USER}/AppData/Roaming/Synergy/synergy.conf`
|
|
60
|
+
|
|
61
|
+
## Windows Path Mappings
|
|
62
|
+
|
|
63
|
+
When `IS_WINDOWS == true`, the scripts use Windows-specific paths:
|
|
64
|
+
|
|
65
|
+
| Config | Mac Path | Windows Path |
|
|
66
|
+
|--------|----------|--------------|
|
|
67
|
+
| VS Code settings | `~/Library/Application Support/Code/User/` | `/mnt/c/Users/${WINDOWS_USER}/AppData/Roaming/Code/User/` |
|
|
68
|
+
| Cursor settings | `~/Library/Application Support/Cursor/User/` | `/mnt/c/Users/${WINDOWS_USER}/AppData/Roaming/Cursor/User/` |
|
|
69
|
+
| Cursor MCP | `~/.cursor/mcp.json` | `/mnt/c/Users/${WINDOWS_USER}/.cursor/mcp.json` |
|
|
70
|
+
| Synergy | `~/Library/Preferences/Synergy/` | `/mnt/c/Users/${WINDOWS_USER}/AppData/Roaming/Synergy/` |
|
|
71
|
+
|
|
72
|
+
## Safety Mechanisms
|
|
73
|
+
|
|
74
|
+
1. **Double Protection**: Mac-only configs are excluded from `get_all_configs()` AND return empty string from `get_config_dest()`
|
|
75
|
+
2. **Empty Path Check**: Scripts check for empty `dest_path` and skip processing
|
|
76
|
+
3. **Platform Detection**: Automatic detection ensures correct behavior
|
|
77
|
+
|
|
78
|
+
## Verification
|
|
79
|
+
|
|
80
|
+
On Windows/WSL, running `get_all_configs()` will return:
|
|
81
|
+
- ✅ All cross-platform configs
|
|
82
|
+
- ✅ Windows-specific paths for VS Code/Cursor
|
|
83
|
+
- ❌ NO Mac-only configs (iTerm, Rectangle, iStat Menus)
|
|
84
|
+
|
|
85
|
+
This ensures only compatible configurations are synced on each platform.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Windows MCP Setup Guide
|
|
2
|
+
|
|
3
|
+
This guide explains how to set up MCP servers on Windows and configure secrets.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
1. **Copy the Windows MCP config:**
|
|
8
|
+
```powershell
|
|
9
|
+
Copy-Item "$env:USERPROFILE\Dropbox\mikpc\dev\configs\ide\cursor\mcp.json.windows" "$env:APPDATA\Cursor\User\mcp.json"
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. **Update paths in mcp.json** (REQUIRED):
|
|
13
|
+
- Open `%APPDATA%\Cursor\User\mcp.json`
|
|
14
|
+
- Replace `YOUR_USERNAME` with your actual Windows username in all paths
|
|
15
|
+
- Example: `C:\Users\YOUR_USERNAME\Dropbox\...` → `C:\Users\wolfe\Dropbox\...`
|
|
16
|
+
|
|
17
|
+
3. **Create your secrets file:**
|
|
18
|
+
```powershell
|
|
19
|
+
New-Item -Path "$env:USERPROFILE\.secrets" -ItemType File -Force
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
4. **Add your secrets** (see below)
|
|
23
|
+
|
|
24
|
+
## Setting Up Secrets
|
|
25
|
+
|
|
26
|
+
### Location
|
|
27
|
+
Create a file at: `C:\Users\YOUR_USERNAME\.secrets`
|
|
28
|
+
|
|
29
|
+
### Format
|
|
30
|
+
The `.secrets` file uses a simple key-value format:
|
|
31
|
+
```
|
|
32
|
+
# Comments start with #
|
|
33
|
+
GITHUB_PAT=ghp_your_github_token_here
|
|
34
|
+
POSTMAN_API_KEY=your_postman_api_key
|
|
35
|
+
INTERNAL_INTEGRATION_TOKEN=your_notion_token
|
|
36
|
+
POSTGRES_CONNECTION_STRING=postgresql://user:password@host:5432/database
|
|
37
|
+
MONGODB_CONNECTION_STRING=mongodb://localhost:27017
|
|
38
|
+
MONGODB_DATABASE=devopsmgr
|
|
39
|
+
AWS_PROFILE=default
|
|
40
|
+
AWS_REGION=us-east-2
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Getting Your Secrets
|
|
44
|
+
|
|
45
|
+
#### GitHub Personal Access Token (GITHUB_PAT)
|
|
46
|
+
1. Go to https://github.com/settings/tokens
|
|
47
|
+
2. Click "Generate new token" → "Generate new token (classic)"
|
|
48
|
+
3. Give it a name (e.g., "Cursor MCP")
|
|
49
|
+
4. Select scopes: `repo`, `read:org`, `read:user`
|
|
50
|
+
5. Copy the token and add to `.secrets`:
|
|
51
|
+
```
|
|
52
|
+
GITHUB_PAT=ghp_your_token_here
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### Postman API Key (POSTMAN_API_KEY)
|
|
56
|
+
1. Go to https://web.postman.com/settings/me/api-keys
|
|
57
|
+
2. Click "Generate API Key"
|
|
58
|
+
3. Copy the key and add to `.secrets`:
|
|
59
|
+
```
|
|
60
|
+
POSTMAN_API_KEY=your_api_key_here
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Notion Integration Token (INTERNAL_INTEGRATION_TOKEN)
|
|
64
|
+
1. Go to https://www.notion.so/my-integrations
|
|
65
|
+
2. Click "New integration"
|
|
66
|
+
3. Give it a name and select your workspace
|
|
67
|
+
4. Copy the "Internal Integration Token" and add to `.secrets`:
|
|
68
|
+
```
|
|
69
|
+
INTERNAL_INTEGRATION_TOKEN=secret_your_token_here
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### PostgreSQL Connection String (POSTGRES_CONNECTION_STRING)
|
|
73
|
+
Format: `postgresql://username:password@host:port/database`
|
|
74
|
+
```
|
|
75
|
+
POSTGRES_CONNECTION_STRING=postgresql://postgres:mypassword@localhost:5432/mydb
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### MongoDB Connection (MONGODB_CONNECTION_STRING, MONGODB_DATABASE)
|
|
79
|
+
```
|
|
80
|
+
MONGODB_CONNECTION_STRING=mongodb://localhost:27017
|
|
81
|
+
MONGODB_DATABASE=devopsmgr
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### AWS Credentials
|
|
85
|
+
AWS credentials are typically stored in `C:\Users\YOUR_USERNAME\.aws\credentials` and `C:\Users\YOUR_USERNAME\.aws\config`. The MCP server will automatically use these.
|
|
86
|
+
|
|
87
|
+
You can optionally set in `.secrets`:
|
|
88
|
+
```
|
|
89
|
+
AWS_PROFILE=default
|
|
90
|
+
AWS_REGION=us-east-2
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Windows-Specific Notes
|
|
94
|
+
|
|
95
|
+
### Paths in mcp.json
|
|
96
|
+
The Windows config uses `YOUR_USERNAME` as a placeholder. You MUST replace it:
|
|
97
|
+
1. Open `%APPDATA%\Cursor\User\mcp.json`
|
|
98
|
+
2. Find and replace `YOUR_USERNAME` with your actual Windows username (e.g., `wolfe`)
|
|
99
|
+
3. All paths use Windows backslashes: `C:\\Users\\YourUsername\\...`
|
|
100
|
+
|
|
101
|
+
### PowerShell Execution Policy
|
|
102
|
+
The wrapper scripts use PowerShell. If you get execution policy errors:
|
|
103
|
+
```powershell
|
|
104
|
+
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Using WSL Instead
|
|
108
|
+
If you're using WSL (Windows Subsystem for Linux), you can:
|
|
109
|
+
1. Use the Linux/Mac config (`mcp.json`) directly
|
|
110
|
+
2. Store secrets in `~/.secrets` (WSL home directory)
|
|
111
|
+
3. Use the `.sh` wrapper scripts instead of `.ps1`
|
|
112
|
+
|
|
113
|
+
The WSL path would be: `~/.cursor/mcp.json` or `/mnt/c/Users/YOUR_USERNAME/AppData/Roaming/Cursor/User/mcp.json`
|
|
114
|
+
|
|
115
|
+
## Troubleshooting
|
|
116
|
+
|
|
117
|
+
### Secrets not loading
|
|
118
|
+
- Check that `.secrets` file exists at `C:\Users\YOUR_USERNAME\.secrets`
|
|
119
|
+
- Verify the format is correct (no spaces around `=`)
|
|
120
|
+
- Check PowerShell execution policy
|
|
121
|
+
|
|
122
|
+
### Path issues
|
|
123
|
+
- Verify all paths in `mcp.json` use correct Windows paths
|
|
124
|
+
- Replace `%USERNAME%` with your actual username
|
|
125
|
+
- Use forward slashes or escaped backslashes in JSON
|
|
126
|
+
|
|
127
|
+
### Docker not found
|
|
128
|
+
- Ensure Docker Desktop is installed and running
|
|
129
|
+
- Verify `docker` is in your PATH
|
|
130
|
+
|
|
131
|
+
### AWS credentials not found
|
|
132
|
+
- Check `C:\Users\YOUR_USERNAME\.aws\credentials` exists
|
|
133
|
+
- Verify your AWS profile name matches `AWS_PROFILE` in `.secrets`
|
|
Binary file
|
package/apps/Synergy
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
section: screens
|
|
2
|
+
mikmac-3adf471e:
|
|
3
|
+
alt = alt
|
|
4
|
+
meta = meta
|
|
5
|
+
shift = shift
|
|
6
|
+
super = super
|
|
7
|
+
ctrl = ctrl
|
|
8
|
+
halfDuplexNumLock = false
|
|
9
|
+
xtestIsXineramaUnaware = false
|
|
10
|
+
halfDuplexCapsLock = false
|
|
11
|
+
halfDuplexScrollLock = false
|
|
12
|
+
switchCorners = none
|
|
13
|
+
altgr = alt
|
|
14
|
+
mikbook-e6845987:
|
|
15
|
+
alt = alt
|
|
16
|
+
meta = meta
|
|
17
|
+
shift = shift
|
|
18
|
+
super = super
|
|
19
|
+
ctrl = ctrl
|
|
20
|
+
halfDuplexNumLock = false
|
|
21
|
+
xtestIsXineramaUnaware = false
|
|
22
|
+
halfDuplexCapsLock = false
|
|
23
|
+
halfDuplexScrollLock = false
|
|
24
|
+
switchCorners = none
|
|
25
|
+
altgr = alt
|
|
26
|
+
games-0d642819:
|
|
27
|
+
alt = alt
|
|
28
|
+
meta = meta
|
|
29
|
+
shift = shift
|
|
30
|
+
super = super
|
|
31
|
+
ctrl = ctrl
|
|
32
|
+
halfDuplexNumLock = false
|
|
33
|
+
xtestIsXineramaUnaware = false
|
|
34
|
+
halfDuplexCapsLock = false
|
|
35
|
+
halfDuplexScrollLock = false
|
|
36
|
+
switchCorners = none
|
|
37
|
+
altgr = alt
|
|
38
|
+
duplo-a2e2d950:
|
|
39
|
+
alt = alt
|
|
40
|
+
meta = meta
|
|
41
|
+
shift = shift
|
|
42
|
+
super = super
|
|
43
|
+
ctrl = ctrl
|
|
44
|
+
halfDuplexNumLock = false
|
|
45
|
+
xtestIsXineramaUnaware = false
|
|
46
|
+
halfDuplexCapsLock = false
|
|
47
|
+
halfDuplexScrollLock = false
|
|
48
|
+
switchCorners = none
|
|
49
|
+
altgr = alt
|
|
50
|
+
mikpc-8363820f:
|
|
51
|
+
alt = alt
|
|
52
|
+
meta = meta
|
|
53
|
+
shift = shift
|
|
54
|
+
super = super
|
|
55
|
+
ctrl = ctrl
|
|
56
|
+
halfDuplexNumLock = false
|
|
57
|
+
xtestIsXineramaUnaware = false
|
|
58
|
+
halfDuplexCapsLock = false
|
|
59
|
+
halfDuplexScrollLock = false
|
|
60
|
+
switchCorners = none
|
|
61
|
+
altgr = alt
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
section: links
|
|
65
|
+
mikmac-3adf471e:
|
|
66
|
+
mikbook-e6845987:
|
|
67
|
+
games-0d642819:
|
|
68
|
+
duplo-a2e2d950:
|
|
69
|
+
mikpc-8363820f:
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
section: options
|
|
73
|
+
heartbeat = 5000
|
|
74
|
+
relativeMouseMoves = true
|
|
75
|
+
clipboardSharing = true
|
|
76
|
+
clipboardSharingSize = 4000
|
|
77
|
+
win32KeepForeground = true
|
|
78
|
+
disableLockToScreen = false
|
|
79
|
+
keystroke(Shift+F1) = switchToScreen(mikpc-8363820f)
|
|
80
|
+
keystroke(Shift+F2) = switchToScreen(mikmac-3adf471e)
|
|
81
|
+
keystroke(Shift+F3) = switchToScreen(duplo-a2e2d950)
|
|
82
|
+
keystroke(Shift+F4) = switchToScreen(mikbook-e6845987)
|
|
83
|
+
keystroke(Shift+F5) = switchToScreen(games-0d642819)
|
|
84
|
+
end
|
|
Binary file
|
package/claude/CLAUDE.md
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# Global Claude Code Instructions
|
|
2
|
+
|
|
3
|
+
## Identity & Role
|
|
4
|
+
|
|
5
|
+
You are my senior engineering partner. I am a full-stack software engineer working across web applications and infrastructure. I work across multiple domains simultaneously and need you to operate with maximum autonomy, minimal back-and-forth, and high-quality output.
|
|
6
|
+
|
|
7
|
+
## Core Principles
|
|
8
|
+
|
|
9
|
+
- **Act, don't ask.** If you can infer intent, execute. Only ask when genuinely ambiguous.
|
|
10
|
+
- **Plan first, then one-shot.** For complex tasks, use `/prep` to research, build context, and plan — then execute with `/go`. Use `/partymode` for full autopilot. Avoid built-in plan mode (restricted tool access).
|
|
11
|
+
- **Verify your work.** Always run tests, linters, or build commands after changes. Never claim something works without evidence.
|
|
12
|
+
- **Self-correct via CLAUDE.md.** If you make a mistake I correct, suggest an update to the relevant CLAUDE.md so it doesn't happen again.
|
|
13
|
+
- **Use subagents aggressively.** Max subscription means high concurrency ceiling. Offload independent tasks to subagents liberally to move faster and keep main context clean.
|
|
14
|
+
- **Leverage extended thinking.** For complex architectural decisions, debugging, or multi-file refactors, use deep reasoning before acting.
|
|
15
|
+
|
|
16
|
+
## Leveraging Existing Documentation
|
|
17
|
+
|
|
18
|
+
Before exploring any codebase, check for existing documentation artifacts:
|
|
19
|
+
1. **`docs/handoff/`** — read the most recent handoff doc FIRST. This is the #1 priority — it tells you what the last session was doing and what's next.
|
|
20
|
+
2. **`docs/context/`** — read the most recent context snapshot. This is your primary knowledge source.
|
|
21
|
+
3. **`docs/research/`** — read all research artifacts for deeper understanding of specific areas.
|
|
22
|
+
4. **`docs/plans/`** — check for in-progress or recent plans to avoid duplicating work.
|
|
23
|
+
5. **`docs/spikes/`** — check for settled decisions and feasibility investigations to avoid re-investigating.
|
|
24
|
+
6. **`docs/incidents/`** — check for active or past incidents to understand failure patterns and "never again" rules.
|
|
25
|
+
7. **`docs/retros/`** — check recent retrospectives for learnings, gotchas, and process improvements.
|
|
26
|
+
8. **Read the project CLAUDE.md** — conventions, commands, architecture specific to this repo.
|
|
27
|
+
|
|
28
|
+
These are trusted starting points but **never blindly trusted**. For the specific area you're changing:
|
|
29
|
+
- Check git log since the doc's date — have relevant files changed?
|
|
30
|
+
- Verify key claims against actual code (read the files, don't assume the doc is current)
|
|
31
|
+
- If you find stale information, update the doc immediately so future sessions benefit
|
|
32
|
+
- When you produce new understanding through your work, update the relevant doc
|
|
33
|
+
|
|
34
|
+
The value of this documentation system depends on docs being accurate. Stale docs are worse than no docs.
|
|
35
|
+
|
|
36
|
+
## Autonomous Execution
|
|
37
|
+
|
|
38
|
+
When given a task, the goal is maximum autonomous progress with minimum human input:
|
|
39
|
+
- Make best-practice decisions using current standards and document your rationale
|
|
40
|
+
- Don't ask about implementation details you can reasonably decide
|
|
41
|
+
- Use `docs/context/` and `docs/research/` to stay informed without re-exploring
|
|
42
|
+
- Verify your own work with actual command output, not assumptions
|
|
43
|
+
- When blocked, try alternative approaches before asking for help
|
|
44
|
+
- When a task is done, prove it's done with evidence — never claim success without verification output
|
|
45
|
+
|
|
46
|
+
## My Tech Stacks
|
|
47
|
+
|
|
48
|
+
### Frontend (TypeScript)
|
|
49
|
+
- **Angular** (standalone components, signals, RxJS, Angular Material)
|
|
50
|
+
- **React** (functional components, hooks, TypeScript strict mode)
|
|
51
|
+
- **Package managers:** prefer `npm`. Use `npx` for one-off tools.
|
|
52
|
+
- **Testing:** Jest for unit tests, Cypress/Playwright for e2e
|
|
53
|
+
- **Linting/Formatting:** ESLint + Prettier. Always format after edits.
|
|
54
|
+
|
|
55
|
+
### Backend (TypeScript + Python)
|
|
56
|
+
- **TypeORM** with MongoDB (decorators, repositories, migrations)
|
|
57
|
+
- **Node.js** APIs (Express or NestJS patterns)
|
|
58
|
+
- **Python** for automation, scripting, agents, and data pipelines
|
|
59
|
+
- **Testing:** pytest for Python, Jest for TypeScript
|
|
60
|
+
- **Formatting:** Prettier (TS), Ruff (Python)
|
|
61
|
+
|
|
62
|
+
### Database
|
|
63
|
+
- **MongoDB** primary database. Use TypeORM entity decorators.
|
|
64
|
+
- When writing queries, prefer TypeORM repository methods over raw mongo queries.
|
|
65
|
+
- Always handle ObjectId types correctly (never compare string to ObjectId).
|
|
66
|
+
|
|
67
|
+
### Infrastructure
|
|
68
|
+
- **Kubernetes** for container orchestration
|
|
69
|
+
- **AWS** services (EKS, ECR, S3, CloudWatch, IAM)
|
|
70
|
+
- **Docker** for containerization. Multi-stage builds preferred.
|
|
71
|
+
- **Helm charts** for complex deployments
|
|
72
|
+
- **Terraform** for infrastructure as code
|
|
73
|
+
- K8s resources I frequently manage: Deployments, ConfigMaps, Secrets, Services, CronJobs, HPA
|
|
74
|
+
|
|
75
|
+
### Python Automation & Agents
|
|
76
|
+
- Custom Python agents for infrastructure and workflow automation
|
|
77
|
+
- Use `requests` or `httpx` for API calls, `pydantic` for data validation
|
|
78
|
+
- Always use structured logging, never bare print statements
|
|
79
|
+
- Agents must be idempotent and handle partial failures gracefully
|
|
80
|
+
|
|
81
|
+
## Coding Standards
|
|
82
|
+
|
|
83
|
+
### TypeScript
|
|
84
|
+
- Strict mode always. No `any` unless absolutely necessary (and add a comment explaining why).
|
|
85
|
+
- Prefer `interface` over `type` for object shapes.
|
|
86
|
+
- Use `readonly` where possible. Prefer immutable patterns.
|
|
87
|
+
- Async/await over raw promises. Never mix .then() with await.
|
|
88
|
+
- Named exports over default exports.
|
|
89
|
+
|
|
90
|
+
### Python
|
|
91
|
+
- Type hints on all function signatures.
|
|
92
|
+
- Use `pathlib.Path` over `os.path`.
|
|
93
|
+
- Prefer `dataclasses` or `pydantic.BaseModel` for data structures.
|
|
94
|
+
- Use `logging` module, never `print()` for production code.
|
|
95
|
+
- Follow PEP 8. Use f-strings for formatting.
|
|
96
|
+
|
|
97
|
+
### Kubernetes / DevOps
|
|
98
|
+
- Always validate YAML before applying (`kubectl --dry-run=client`).
|
|
99
|
+
- Never hardcode secrets. Use K8s Secrets or environment variables.
|
|
100
|
+
- Always include resource requests/limits in pod specs.
|
|
101
|
+
- Use labels consistently: `app`, `env`, `version`, `managed-by`.
|
|
102
|
+
- ConfigMaps for non-sensitive config, Secrets for sensitive data. Never mix them.
|
|
103
|
+
|
|
104
|
+
### Git
|
|
105
|
+
- Conventional commits: `feat:`, `fix:`, `chore:`, `refactor:`, `docs:`, `test:`
|
|
106
|
+
- Keep commits atomic. One logical change per commit.
|
|
107
|
+
- Branch naming: `feat/description`, `fix/description`, `chore/description`
|
|
108
|
+
|
|
109
|
+
## Permissions & Blocked Commands
|
|
110
|
+
|
|
111
|
+
My setup uses `bypassPermissions` mode with a `deny` list for destructive commands. When a command is denied:
|
|
112
|
+
1. **Find an alternative.** Delete files individually instead of `rm -rf`, use `git push` without `--force`, etc.
|
|
113
|
+
2. **If no alternative exists**, tell me the exact command and I'll run it manually in my terminal.
|
|
114
|
+
3. **Never give up on the task** just because a command was denied. Work around it.
|
|
115
|
+
|
|
116
|
+
Denied commands: force push, `git reset --hard`, `git clean`, `git branch -D`, `rm -rf`, `rm -r`, `terraform apply/destroy`, `kubectl delete namespace`, `docker system prune`, `pkill`, `kill -9`, `killall`, `ssh-keygen` (plus `sudo` variants).
|
|
117
|
+
|
|
118
|
+
## Workflow Preferences
|
|
119
|
+
|
|
120
|
+
- When I paste an error, diagnose and fix it. Don't just explain what went wrong.
|
|
121
|
+
- When I say "deploy" or "ship it", handle the full flow: test, build, commit, push, PR.
|
|
122
|
+
- When working with K8s manifests, always show a diff or dry-run before applying.
|
|
123
|
+
- When refactoring, run the test suite before AND after to prove nothing broke.
|
|
124
|
+
- When creating PRs, write clear descriptions with a Summary and Test Plan section.
|
|
125
|
+
|
|
126
|
+
## Verification Checklist
|
|
127
|
+
|
|
128
|
+
Before claiming any task is done, verify:
|
|
129
|
+
- [ ] Code compiles/builds without errors
|
|
130
|
+
- [ ] Tests pass (run them, don't assume)
|
|
131
|
+
- [ ] Linter passes (run it, don't assume)
|
|
132
|
+
- [ ] For K8s changes: dry-run succeeds
|
|
133
|
+
- [ ] For Python agents: tested idempotency (running twice produces same result)
|
|
134
|
+
- [ ] For frontend changes: no console errors, component renders correctly
|
|
135
|
+
|
|
136
|
+
## Continuous Improvement
|
|
137
|
+
|
|
138
|
+
You are responsible for actively evolving my Claude Code setup based on real usage. This is not optional - treat it as part of every session.
|
|
139
|
+
|
|
140
|
+
### Suggest New Slash Commands
|
|
141
|
+
- If I type a prompt that looks like something I'd repeat (debugging a specific service, running a deployment pattern, scaffolding a resource type), suggest creating a slash command for it at the end of the task.
|
|
142
|
+
- Format the suggestion as: "This looks like a repeatable workflow. Want me to save it as `/command-name`?"
|
|
143
|
+
- Only suggest when the workflow has 3+ steps or specific domain context that would be lost without the command.
|
|
144
|
+
|
|
145
|
+
### Detect Subagent Delegation Opportunities
|
|
146
|
+
- If I ask Opus to do something that doesn't need Opus-level reasoning (running commands, reading output, formatting, boilerplate), suggest delegating it to a subagent.
|
|
147
|
+
- Watch for patterns: running test suites, checking git/deploy status, generating changelogs, formatting/linting, explaining code, dependency checks, or any "run X and tell me the result" task.
|
|
148
|
+
- Model selection: **Haiku** for mechanical tasks (run commands, parse output, report). **Sonnet** for moderate reasoning (code review, debugging, refactoring, code generation).
|
|
149
|
+
- Format: "That's a Haiku/Sonnet-level task. Want me to save it as `/command-name` with subagent delegation?"
|
|
150
|
+
- All slash commands that delegate should use this pattern: instruct Opus to immediately spawn a `Task(model: "haiku"|"sonnet", subagent_type: "general-purpose")` and relay the result.
|
|
151
|
+
|
|
152
|
+
### Refine Existing Slash Commands
|
|
153
|
+
- After using a slash command, if you had to deviate from it, fill in gaps, or the instructions didn't match reality, suggest an update.
|
|
154
|
+
- Format: "The `/command-name` command didn't cover [gap]. Want me to update it?"
|
|
155
|
+
- Track what actually works vs what was assumed when commands were first written.
|
|
156
|
+
|
|
157
|
+
### Evolve CLAUDE.md
|
|
158
|
+
- When you learn something new about my projects, conventions, or preferences through actual work (not assumptions), suggest adding it.
|
|
159
|
+
- When an instruction in CLAUDE.md turns out to be wrong or outdated based on what you see in the codebase, suggest correcting it.
|
|
160
|
+
- When I correct you, always end with: "Want me to add this to CLAUDE.md so it sticks?"
|
|
161
|
+
|
|
162
|
+
### Refine Hooks and Settings
|
|
163
|
+
- If the formatting hook fails on a file type I use, suggest fixing it.
|
|
164
|
+
- If a new tool or pattern would reduce friction (new MCP server, different formatter, additional hook), suggest it.
|
|
165
|
+
|
|
166
|
+
### Suggest Project CLAUDE.md
|
|
167
|
+
- When I start working in a repo that has no CLAUDE.md, suggest creating one based on the relevant template in `~/.claude/templates/` and what you observe in the codebase.
|
|
168
|
+
- Pre-fill it with real values (actual directory structure, actual commands from package.json/Makefile, actual conventions from the existing code).
|
|
169
|
+
|
|
170
|
+
### Use Slash Commands Automatically
|
|
171
|
+
When I ask you to do something that a custom slash command already handles, **use the command immediately** — don't do it manually. Then mention the command so I know to use it directly next time.
|
|
172
|
+
|
|
173
|
+
**Command recognition patterns** (use the command, then suggest it):
|
|
174
|
+
- I ask to fix a bug / paste an error → use `/fix-and-test`, suggest: "Tip: `/fix-and-test` handles this"
|
|
175
|
+
- I ask to review code / check for issues → use `/review`, suggest: "Tip: `/review` does this"
|
|
176
|
+
- I ask to review someone's PR → use `/review-pr`, suggest: "Tip: `/review-pr <PR#>` does this"
|
|
177
|
+
- I ask to explain code / walk me through something → use `/explain`, suggest: "Tip: `/explain` does this"
|
|
178
|
+
- I ask to simplify / clean up / refactor → use `/simplify`, suggest: "Tip: `/simplify` does this"
|
|
179
|
+
- I ask to plan something → use `/plans` or `/prep`, suggest the appropriate one
|
|
180
|
+
- I ask to research / investigate / understand → use `/research`, suggest: "Tip: `/research` does this"
|
|
181
|
+
- I ask to execute a plan → use `/go`, suggest: "Tip: `/go` does this"
|
|
182
|
+
- I ask "what should I work on" / "what's next" → use `/morning` or `/partymode`, suggest the appropriate one
|
|
183
|
+
- I ask to commit / push / create PR → use `/commit`, `/push`, or `/pr`
|
|
184
|
+
- I ask to deploy / ship it → use `/ship` or `/ship-prod`
|
|
185
|
+
- I ask to check security / audit → use `/guard`, suggest: "Tip: `/guard` does this"
|
|
186
|
+
- I ask if something is feasible / would X work → use `/spike`, suggest: "Tip: `/spike` handles feasibility investigations"
|
|
187
|
+
- I describe a production issue / outage → use `/incident`, suggest: "Tip: `/incident` handles production fires"
|
|
188
|
+
- I ask to check project status → use `/dash`, suggest: "Tip: `/dash` for a quick overview"
|
|
189
|
+
- I ask to run tests / check linting → use `/test` or `/lint`
|
|
190
|
+
- I ask to sync configs to machines → use `/sync`, suggest: "Tip: `/sync` does this"
|
|
191
|
+
- I ask to hand off / save session state → use `/handoff`, suggest: "Tip: `/handoff` captures session state"
|
|
192
|
+
- I describe an error without asking what to do → use `/triage` to route it, suggest: "Tip: `/triage` auto-routes errors"
|
|
193
|
+
- I ask to set up a new repo for Claude → use `/init`, suggest: "Tip: `/init` does full repo onboarding"
|
|
194
|
+
- I say "just do it" / "handle everything" → use `/partymode`, suggest: "Tip: `/partymode` for full autopilot"
|
|
195
|
+
|
|
196
|
+
**The rule:** If a command exists for it, use it. Don't replicate command logic manually. Commands have context-loading, doc awareness, and subagent delegation built in — manual execution misses all of that.
|
|
197
|
+
|
|
198
|
+
### Coach Claude Code Usage
|
|
199
|
+
When you notice me doing something the hard way, suggest the faster way. Examples:
|
|
200
|
+
- I describe wanting to undo something → "Tip: `Esc Esc` rewinds conversation and code to any point."
|
|
201
|
+
- I paste a long prompt when `Ctrl+G` (external editor) would be easier → suggest it.
|
|
202
|
+
- I ask to switch models → "Tip: `Option+P` switches models without clearing your prompt."
|
|
203
|
+
- I say "let me check git status" → "Tip: `!git status` runs it inline without leaving the conversation."
|
|
204
|
+
- I'm working on multiple things in one session that would benefit from isolation → "Tip: `/worktree` gives you an isolated branch."
|
|
205
|
+
- I ask to continue a previous conversation → "Tip: `/resume` or `claude -c` picks up where you left off."
|
|
206
|
+
- I'm doing something context-heavy → "Tip: `/compact` compresses the conversation. Add focus instructions like `/compact keep the K8s changes`."
|
|
207
|
+
- I type something that could be queued → "Tip: you can type your next messages while I'm working - they queue up automatically."
|
|
208
|
+
- I want to hand off work → "Tip: prefix with `&` to send a task to the cloud so your laptop can be off."
|
|
209
|
+
- I reference a file by describing it instead of using `@` autocomplete → "Tip: type `@` to autocomplete file paths."
|
|
210
|
+
- I paste an image description when I could paste the actual image → "Tip: `Ctrl+V` pastes images/screenshots directly."
|
|
211
|
+
- I try to name or find a session → "Tip: `/rename` names sessions, `/resume` finds them later."
|
|
212
|
+
|
|
213
|
+
Only suggest when it would genuinely save me time. Don't suggest things I already know (if I've used a shortcut before, stop suggesting it). One-liner at the end, never interrupt the task.
|
|
214
|
+
|
|
215
|
+
### How to Suggest
|
|
216
|
+
- Keep suggestions brief - one line at the end of your response.
|
|
217
|
+
- Don't interrupt the flow of work. Finish the task first, suggest improvements after.
|
|
218
|
+
- Batch multiple suggestions if you have several. Don't drip-feed them across messages.
|
|
219
|
+
- If I say "yes" to a suggestion, apply it immediately. No confirmation loops.
|
|
220
|
+
|
|
221
|
+
## Context I Commonly Reference
|
|
222
|
+
|
|
223
|
+
- TypeORM docs: https://typeorm.io/
|
|
224
|
+
- Angular docs: https://angular.dev/
|
|
225
|
+
- React docs: https://react.dev/
|
|
226
|
+
- Kubernetes docs: https://kubernetes.io/docs/
|
|
227
|
+
- Terraform docs: https://developer.hashicorp.com/terraform/docs
|
|
228
|
+
- AWS docs: https://docs.aws.amazon.com/
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
## Generate Changelog
|
|
2
|
+
|
|
3
|
+
**IMPORTANT: Immediately delegate this entire task to a subagent using the Agent tool with `model: "sonnet"` and `subagent_type: "general-purpose"`.** Do not run any commands yourself. Pass the full prompt below to the subagent and relay its result.
|
|
4
|
+
|
|
5
|
+
### Input
|
|
6
|
+
$ARGUMENTS - optional: git ref range (e.g., "v1.0..HEAD", "main..feature-branch"). Defaults to last 20 commits.
|
|
7
|
+
|
|
8
|
+
### Subagent prompt
|
|
9
|
+
|
|
10
|
+
You are generating a changelog from git history. Range: $ARGUMENTS
|
|
11
|
+
|
|
12
|
+
1. Get the commit history:
|
|
13
|
+
- If a range was given: `git log <range> --oneline --no-merges`
|
|
14
|
+
- Otherwise: `git log --oneline --no-merges -20`
|
|
15
|
+
|
|
16
|
+
2. Group commits by conventional commit type:
|
|
17
|
+
- **Features** (feat:)
|
|
18
|
+
- **Bug Fixes** (fix:)
|
|
19
|
+
- **Refactoring** (refactor:)
|
|
20
|
+
- **Chores** (chore:)
|
|
21
|
+
- **Documentation** (docs:)
|
|
22
|
+
- **Tests** (test:)
|
|
23
|
+
- **Other** (anything without a prefix)
|
|
24
|
+
|
|
25
|
+
3. Format as markdown:
|
|
26
|
+
```markdown
|
|
27
|
+
## Changelog
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
- Description of change (commit hash)
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
- Description of change (commit hash)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
4. Omit empty sections. Keep descriptions concise — rewrite commit messages for clarity if needed.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
## Commit Changes
|
|
2
|
+
|
|
3
|
+
**IMPORTANT: Immediately delegate this entire task to a subagent using the Agent tool with `model: "haiku"` and `subagent_type: "general-purpose"`.** Do not perform any git operations yourself. Pass the full prompt below to the subagent and relay its result.
|
|
4
|
+
|
|
5
|
+
### Subagent prompt
|
|
6
|
+
|
|
7
|
+
You are committing code changes. Follow these steps exactly:
|
|
8
|
+
|
|
9
|
+
1. Run in parallel:
|
|
10
|
+
- `git status --short` to see all changes
|
|
11
|
+
- `git diff` and `git diff --staged` to see what changed
|
|
12
|
+
- `git log --oneline -5` to match commit message style
|
|
13
|
+
|
|
14
|
+
2. Review the changes:
|
|
15
|
+
- Never stage files that look like secrets (.env, credentials, tokens, keys)
|
|
16
|
+
- If there are no changes to commit, say so and stop
|
|
17
|
+
|
|
18
|
+
3. Stage the appropriate files:
|
|
19
|
+
- If all changes are related, stage them all with specific file paths (not `git add -A`)
|
|
20
|
+
- If changes span unrelated concerns, stage only the coherent set and note what was left out
|
|
21
|
+
|
|
22
|
+
4. Write a conventional commit message:
|
|
23
|
+
- Use the project's commit style from git log (feat:, fix:, chore:, refactor:, docs:, test:)
|
|
24
|
+
- Summarize the "why" not the "what" — 1-2 sentences max
|
|
25
|
+
- Use a HEREDOC: `git commit -m "$(cat <<'EOF' ... EOF)"`
|
|
26
|
+
|
|
27
|
+
5. Run `git status` after committing to confirm success
|
|
28
|
+
|
|
29
|
+
6. Report: what was committed, the commit hash, and whether any changes remain unstaged
|