From ai-coding-config
Interactively sets up or updates AI coding configurations for Claude Code, Cursor, Aider, and Continue. Detects tools, manages repo, guides plugin installation. Supports update argument.
npx claudepluginhub technickai/ai-coding-config --plugin ai-coding-config[update]# AI Coding Configuration Plugin-first AI coding configurations for Claude Code, Cursor, and other AI coding tools. The marketplace lives at `https://github.com/TechNickAI/ai-coding-config`. ## Usage - `/ai-coding-config` - Interactive setup for current project - `/ai-coding-config update` - Update plugins and configs to latest versions ## Interaction Guidelines Use AskUserQuestion when presenting discrete choices that save the user time (selecting tools, personalities, handling conflicts). This lets users quickly click options while still allowing free-form text via "Other". ## Shell...
/freainerAutomates Claude Code setup by installing Context7, Playwright, and Draw.io MCPs; configuring LSP servers based on project type; adding notification hooks, env vars, and LSP rules.
/setup-claude-codeAnalyzes project structure, language, and scale to generate Claude Code setup files: CLAUDE.md, hooks, permissions, and optional commands/agents via minimal|standard|full or auto-detect.
/initInitializes or audits .claude/ configuration by detecting repository tech stack and generating CLAUDE.md, settings.json, and rules. Supports --audit and --force flags.
/aiwg-regenerate-claudeRegenerates CLAUDE.md for Claude Code integration via intelligent merge: analyzes project state and tech stack, preserves team content, updates AIWG and Claude-specific sections only. Supports --no-backup, --dry-run, --full flags.
/SKILLGenerates CLAUDE.md project config file via interactive phases: detects environment and tools, collects developer profile, selects testing methodology and tech stack.
/codexDelegates coding tasks to OpenAI Codex CLI for autonomous execution via natural language prompts, handling code refactoring, testing, bug fixes, explanations, features, and reviews.
Share bugs, ideas, or general feedback.
Plugin-first AI coding configurations for Claude Code, Cursor, and other AI coding
tools. The marketplace lives at https://github.com/TechNickAI/ai-coding-config.
/ai-coding-config - Interactive setup for current project/ai-coding-config update - Update plugins and configs to latest versionsUse AskUserQuestion when presenting discrete choices that save the user time (selecting tools, personalities, handling conflicts). This lets users quickly click options while still allowing free-form text via "Other".
Prefer native tools over bash for file inspection. The Read and Grep tools are more reliable than bash commands for checking file contents and versions. They don't have working directory issues and work consistently across environments.
Never change working directory with cd. Use absolute paths for all file
operations. Changing directories can break git hooks that expect to run from the project
root. If you need to run a command in a different directory, use a subshell or absolute
paths rather than cd && command.
Avoid bash loops entirely. For loops and while loops are fragile across different shell environments. Instead of iterating over files in bash, use the Glob tool to list files, then process them one at a time with Read or individual bash commands. Multiple simple commands are more reliable than one complex loop.
When bash fails, switch tools. If a bash command fails due to hook errors, path issues, or parse errors, don't retry with variations. Switch to native tools (Read, Grep, Glob) which don't have these failure modes.
# Detection commands
test -d .cursor && echo "cursor"
test -d .claude && echo "claude-code"
test -f .aider.conf.yml && echo "aider"
test -d .continue && echo "continue"
Based on detection, use AskUserQuestion to confirm which tools to set up. Pre-select detected tools. Options:
If ONLY Claude Code detected (no Cursor), offer a pure plugin installation that skips rule files entirely.
Ensure `~/.ai_coding_config` exists and is up to date. Clone if missing, pull latest if exists.if [ -d ~/.ai_coding_config ]; then
cd ~/.ai_coding_config && git pull
else
git clone https://github.com/TechNickAI/ai-coding-config.git ~/.ai_coding_config
fi
For Claude Code users, guide them through the plugin marketplace:
Explain the plugin system: "Claude Code uses a plugin marketplace. You can install the plugins you want, and they'll stay updated automatically."
Show available plugins from ~/.ai_coding_config/.claude-plugin/marketplace.json:
Provide the commands to add the marketplace and install plugins:
# Add the marketplace (one time)
/plugin marketplace add https://github.com/TechNickAI/ai-coding-config
# Install the core plugin
/plugin install ai-coding-config
# Optional: Install a personality
/plugin install personality-samantha
Fresh project (no existing configs)
.cursor/rules/ and .cursor/commands/ directoriesAGENTS.md, symlink CLAUDE.md → AGENTS.mdExisting rules, no AI coding config yet
.cursor/rules/ as real directoryAlready has AI coding config
~/.ai_coding_configDetection:
test -d .cursor/rules && echo "has .cursor/rules"
test -d .cursor/commands && echo "has .cursor/commands"
test -f AGENTS.md && echo "has AGENTS.md"
Copy files from `~/.ai_coding_config/` to project for portability:
~/.ai_coding_config/.cursor/rules/ → .cursor/rules/~/.ai_coding_config/plugins/core/commands/ → .cursor/commands/.cursor/rules/personalities/Cursor does not support agents or skills directories.
Important for hybrid users (Claude Code + Cursor):
.cursor/commands/ must be a REAL directory, not a symlink to .claude/commands/Handle conflicts with AskUserQuestion: overwrite, skip, show diff.
Detect project type: Django, FastAPI, React, Next.js, etc. Look for package.json, requirements.txt, pyproject.toml, existing configs. Understand purpose: API server, web app, CLI tool. Use AskUserQuestion to present personality options:For Claude Code: Install the selected personality plugin via marketplace.
For Cursor: Copy the ONE selected personality file to .cursor/rules/personalities/ and
set alwaysApply: true in its frontmatter. Only one personality should be active.
For hybrid users (both Claude Code and Cursor): Do both. Install the plugin AND copy the file. This ensures the personality works in both environments.
Source files are in ~/.ai_coding_config/plugins/personalities/personality-{name}/.
For Claude Code users: "You're set up with the ai-coding-config plugin marketplace. Installed: [list plugins]"
For Cursor users: "Your project is configured with [X] rules and [Y] commands."
Key commands to highlight:
/autotask "your task" - Autonomous development/address-pr-comments - PR cleanup on autopilot/load-rules - Smart context loadingEnd with: "Run /ai-coding-config update anytime to get the latest improvements."
Detection signals:
~/.claude/plugins/ directory exists.cursor/ directory exists in current projectFor Cursor-only users, skip all marketplace and plugin operations.
Pull latest source files regardless of environment:git -C ~/.ai_coding_config pull
This updates the source repository that both Claude Code marketplace and Cursor file copies draw from.
Immediately after pulling, check if this command file was updated.Compare versions:
~/.ai_coding_config/plugins/core/commands/ai-coding-config.mdIf the source version is newer:
.claude/commands/ai-coding-config.md, update it
with the new version (this keeps the local copy current for discoverability)This check happens before any other operations so that marketplace doctor, plugin updates, and all subsequent steps use current instructions.
For Claude Code users, ensure the ai-coding-config marketplace is healthy. A healthy marketplace has: - Entry in `~/.claude/plugins/known_marketplaces.json` with source pointing to ai-coding-config - Install location at `~/.claude/plugins/marketplaces/ai-coding-config/` with valid `.claude-plugin/marketplace.json` - Plugins in `~/.claude/plugins/cache/ai-coding-config/` matching installed_plugins.json - ai-coding-config plugin enabled in `~/.claude/settings.json` - No deprecated plugins installed (see deprecated plugin check below)Read these files to assess current state. Compare installed plugin versions against marketplace.json versions.
Check `~/.claude/plugins/installed_plugins.json` for plugins from the ai-coding-config marketplace that no longer exist in the current marketplace.json.Previously, the marketplace had separate plugins that were later consolidated:
agents@ai-coding-config → merged into ai-coding-configskills@ai-coding-config → merged into ai-coding-configcommands@ai-coding-config → merged into ai-coding-configIf any deprecated plugins are found, the marketplace needs a reset. The reset will remove these stale entries and install the current consolidated plugin.
This check is future-proof: compare installed plugin names against the current marketplace.json rather than maintaining a hardcoded list.
Compare the installed plugin version against the source marketplace.json version. If the major version changed (e.g., 6.x.x → 7.x.x), trigger a full reset.Major version changes often involve structural changes that plugin update may not
handle cleanly. A reset ensures a clean slate.
Before resetting for major version:
The reset is fast and prevents weird state from version mismatches.
If any health check fails (deprecated plugins, major version change, corruption), reset the marketplace. This is fast and reliable.Before resetting, note which plugins from this marketplace are installed (check
installed_plugins.json for keys ending in @ai-coding-config). Common ones:
Execute plugin commands via subshell for reliability:
# Remove the marketplace
claude "/plugin marketplace remove ai-coding-config"
# Re-add it fresh
claude "/plugin marketplace add https://github.com/TechNickAI/ai-coding-config"
# Install the core plugin
claude "/plugin install ai-coding-config"
# Reinstall any personality plugins the user had
claude "/plugin install personality-samantha" # if they had it before
Resetting takes seconds and eliminates debugging time. Use this approach when:
After reset, verify the plugin is working by checking that expected components exist in the cache directory. Track that a restart will be needed. Then proceed to auto-update check.
If the marketplace is healthy but potentially outdated, update it.Execute plugin commands via subshell for reliability:
# Update marketplace catalog
claude "/plugin marketplace update ai-coding-config"
# Update installed plugins to latest versions
claude "/plugin update ai-coding-config"
Report version changes: "Updated ai-coding-config: 5.2.0 → 6.0.0"
If plugins were updated, track that a restart will be needed.
Third-party marketplaces have auto-update disabled by default. Check if the user wants to enable it for convenience.Auto-update means Claude Code refreshes the marketplace at startup and updates installed plugins automatically. Users stay current without running manual updates.
Guide the user to enable auto-update through the plugin manager:
/plugin to open the plugin managerUse AskUserQuestion to offer this:
/ai-coding-config update when you want updates
Report the healthy state: "Marketplace healthy: 14 agents, 15 commands, 6 skills"
After marketplace is healthy, check for outdated local files that duplicate marketplace content. Local files override marketplace versions, causing confusion and preventing auto-updates.What to look for in .claude/commands/, .claude/agents/, .claude/skills/:
Detection:
# Find symlinks pointing to ai-coding-config cache
find .claude/commands -type l 2>/dev/null | while read f; do
readlink "$f" | grep -q 'ai-coding-config' && echo "duplicate: $f"
done
What to preserve:
What to remove:
~/.claude/plugins/cache/ai-coding-config/ (plugin provides these)Explain the situation: "Found X duplicate commands that the plugin already provides. Removing these lets you get auto-updates from the marketplace."
Offer to remove duplicates. If user declines, warn that local files override plugin versions and won't auto-update.
For Cursor users, update copied configuration files.Pull latest from source repository, then compare versions using YAML frontmatter. Update files where the source version is newer than the installed version.
Files to compare:
~/.ai_coding_config/.cursor/rules/ vs .cursor/rules/~/.ai_coding_config/plugins/core/commands/ vs .cursor/commands/~/.ai_coding_config/plugins/personalities/ vs
.cursor/rules/personalities/Report updates with version progression: "git-interaction.mdc: 1.0.0 → 1.1.0"
For personalities, preserve the user's alwaysApply setting when updating content.
Check for deprecated files and offer removal:
.cursor/rules/git-commit-message.mdc merged into git-interaction.mdc.cursor/rules/marianne-williamson.mdc renamed to luminous.mdc.cursor/commands/ as symlink → should be a real directory with copied files.cursor/rules/ as symlink → should be a real directory with copied filesCritical pattern to detect: .cursor/commands/ symlinked to .claude/commands/
This creates a mess because Claude Code and Cursor need different things:
When this pattern is found:
.cursor/commands/ symlink.cursor/commands/ as a real directory.claude/commands/~/.ai_coding_config/plugins/core/commands/.claude/commands/ (duplicates of plugin)Detection:
# Check if .cursor/commands is a symlink to .claude/commands
readlink .cursor/commands | grep -q '.claude/commands' && echo "cursor-symlinked-to-claude"
# List ai-coding-config symlinks in .claude/commands
find .claude/commands -type l -exec readlink {} \; | grep -q 'ai-coding-config' && echo "has-plugin-symlinks"
For Claude Code users who are Cursor-only (no marketplace):
.claude/commands/ as symlink → remove and skip (not needed for Cursor).claude/agents/ as symlink → remove and skip.claude/skills/ as symlink → remove and skip For Claude Code: "Marketplace healthy. ai-coding-config v6.0.0 installed. Auto-update enabled."
For Cursor: "Updated 3 rules, 2 commands. 12 files already current."
For both: Combine the summaries.
Tell the user to restart Claude Code when any of these occurred: - Marketplace was reset or reinstalled - Plugins were updated to new versions - Auto-update setting was changedPlugins are loaded at startup, so changes take effect after restart.
Message: "Restart Claude Code to load the updated plugins. Run claude in a new
terminal, or use Cmd+Shift+P → 'Claude Code: Restart' in your IDE."
If nothing changed (already up to date, no reset needed), skip the restart message.
Respect existing files - always check before overwriting. Use diff to understand differences, then decide intelligently or ask. Better to be thoughtful than fast.
Explain choices helpfully. Don't just list files - explain what they do and why someone might want them.