Skip to content
Merged
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 ai-stuff/claude/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ ai-stuff/claude/
its plugins. Claude Code caches an installed plugin by version, so bump a mod's
`version` and run `claude plugin update <name>@dotfiles-mods` after editing it.

The pokemon mod lives in [dgokcin/claude-pokemon](https://github.com/dgokcin/claude-pokemon).
`make claude-mods` clones it to `~/codes/claude-pokemon` if it's missing, and
`settings.json` declares that clone as the `claude-pokemon` marketplace. A directory
marketplace loads the mod in place, so edits apply on `/reload-plugins` without a
version bump.

`make claude` also installs (sources live elsewhere):

| Target | Source | Destination | Consumed by |
Expand Down
16 changes: 8 additions & 8 deletions ai-stuff/claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,6 @@
"command": "~/.claude/scripts/subagent-statusline.sh"
},
"enabledPlugins": {
"abra@dotfiles-mods": true,
"context7@claude-plugins-official": false,
"datadog@treatwell": true,
"feature-dev@claude-plugins-official": false,
Expand All @@ -271,7 +270,8 @@
"pyright-lsp@claude-plugins-official": false,
"ralph-loop@claude-plugins-official": false,
"skill-creator@claude-plugins-official": false,
"typescript-lsp@claude-plugins-official": false
"typescript-lsp@claude-plugins-official": false,
"pokemon@claude-pokemon": true
},
"extraKnownMarketplaces": {
"agent-plugins-for-aws": {
Expand All @@ -281,16 +281,16 @@
},
"autoUpdate": true
},
"developer-kit": {
"claude-pokemon": {
"source": {
"source": "github",
"repo": "giuseppe-trisciuoglio/developer-kit"
"source": "directory",
"path": "/Users/deniz.gokcin/codes/claude-pokemon"
}
},
"dotfiles-mods": {
"developer-kit": {
"source": {
"source": "directory",
"path": "/Users/deniz.gokcin/codes/dotfiles/ai-stuff/claude/mods"
"source": "github",
"repo": "giuseppe-trisciuoglio/developer-kit"
}
},
"obsidian-skills": {
Expand Down
14 changes: 13 additions & 1 deletion makefiles/claude.mk
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ CLAUDE_AGENTS := $(notdir $(wildcard $(DOTFILES)/ai-stuff/agents/*.md))

CLAUDE_OUTPUT_STYLES := $(notdir $(wildcard $(DOTFILES)/ai-stuff/output-styles/*.md))

CLAUDE_POKEMON_REPO := dgokcin/claude-pokemon
CLAUDE_POKEMON_DIR := ${HOME}/codes/claude-pokemon

# Pre-ai-shared layout installed by the old claude.mk — pruned on install.
CLAUDE_LEGACY := ${CLAUDE_HOME}/personas ${CLAUDE_HOME}/config ${CLAUDE_HOME}/templates \
$(addprefix ${CLAUDE_HOME}/agents/,gitboi.md jiragirl.md mega-dev.md)
Expand Down Expand Up @@ -67,13 +70,22 @@ claude-keybindings: claude-dirs ## Symlink Claude Code keybindings.json
$(call pretty_print, "Installing Claude Code keybindings...")
$(call symlink,ai-stuff/claude/keybindings.json,${CLAUDE_HOME}/keybindings.json)

# The pokemon mod lives in its own repo. A local clone serves as a directory
# marketplace, so the mod loads in place and edits apply on /reload-plugins.
claude-mods: claude-settings ## Clone and install Claude Code mods (claude-pokemon)
$(call pretty_print, "Installing Claude Code mods...")
@[ -d "$(CLAUDE_POKEMON_DIR)" ] || git clone "git@github.com:$(CLAUDE_POKEMON_REPO).git" "$(CLAUDE_POKEMON_DIR)"
@claude plugin marketplace update claude-pokemon >/dev/null 2>&1 || claude plugin marketplace add "$(CLAUDE_POKEMON_DIR)"
@claude plugin install pokemon@claude-pokemon

claude-clean: ai-clean-claude ## Remove Claude Code symlinks
$(call pretty_print, "Removing Claude Code symlinks...")
@claude plugin uninstall pokemon@claude-pokemon >/dev/null 2>&1 || true
@for a in $(CLAUDE_AGENTS); do rm -f "${CLAUDE_HOME}/agents/$$a"; done
@for s in $(CLAUDE_OUTPUT_STYLES); do rm -f "${CLAUDE_HOME}/output-styles/$$s"; done
$(call remove_file,${CLAUDE_HOME}/scripts)
$(call remove_file,${CLAUDE_HOME}/settings.json)
$(call remove_file,${CLAUDE_HOME}/keybindings.json)
@rm -rf $(CLAUDE_LEGACY)

.PHONY: claude claude-cli claude-dotfiles claude-dirs claude-agents claude-output-styles claude-scripts claude-settings claude-keybindings claude-clean
.PHONY: claude claude-cli claude-dotfiles claude-dirs claude-agents claude-output-styles claude-scripts claude-settings claude-keybindings claude-mods claude-clean
Loading