My personal Claude Code/Desktop and OpenAI Codex setup with battle-tested commands and MCP servers that I use daily.
Installation • Configuration • MCP Servers • Agents • Hooks • Commands • Statusline
Install Claude Code and dependencies:
# Install Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
nvm install 22
# Install Claude Code
npm install -g @anthropic-ai/claude-code
# Install required tools
brew install jq gh # macOS
# OR apt-get install jq gh # Ubuntu
# Install code quality tools (required for hooks to work)
pip install ruff docformatter
npm install -g prettier@3.6.2 prettier-plugin-shSee INSTALL.md for detailed prerequisite setup.
Option A: Plugin Marketplace
Install agents, commands, hooks, and MCP servers via plugin system:
# Add marketplace
/plugin marketplace add fcakyon/claude-codex-settings
# Install plugins
/plugin install code-quality-hooks@fcakyon-claude-plugins
/plugin install git-workflow-agents@fcakyon-claude-plugins
/plugin install code-simplifier-agent@fcakyon-claude-plugins
/plugin install productivity-commands@fcakyon-claude-plugins
/plugin install mcp-server-configs@fcakyon-claude-pluginsThen create symlink for cross-tool compatibility:
ln -s ~/.claude/CLAUDE.md ~/.claude/AGENTS.mdRestart Claude Code to activate.
Option B: Manual Clone
Click to expand manual installation
# Clone repository
git clone https://github.com/fcakyon/claude-settings.git ~/.claude-settings
# Copy configuration files
cp -r ~/.claude-settings/.claude/* ~/.claude/
# Create symlink
ln -s ~/.claude/CLAUDE.md ~/.claude/AGENTS.md
# Make hooks executable
chmod +x ~/.claude/hooks/*.pySee INSTALL.md for complete manual setup guide.
| Plugin | Description | Installation |
|---|---|---|
| code-quality-hooks | Auto-formatting for 8+ languages | /plugin install code-quality-hooks@fcakyon-claude-plugins |
| git-workflow-agents | commit-manager + pr-manager agents | /plugin install git-workflow-agents@fcakyon-claude-plugins |
| code-simplifier-agent | Pattern consistency enforcer | /plugin install code-simplifier-agent@fcakyon-claude-plugins |
| productivity-commands | Custom slash commands | /plugin install productivity-commands@fcakyon-claude-plugins |
| mcp-server-configs | 9 pre-configured MCP servers | /plugin install mcp-server-configs@fcakyon-claude-plugins |
Claude Code configuration is stored in .claude/settings.json and includes:
- Model selection (currently using OpusPlan with claude-sonnet-4-5-20250929 - see model configuration docs)
- Environment variables for optimal Claude Code behavior
- Settings for disabling telemetry and non-essential features
- Custom hooks for enhancing tool functionality
Alternative API Providers:
For cost-effective alternatives, you can use Z.ai's GLM models via Anthropic-compatible API:
.claude/settings-zai.json- Configuration for Z.ai GLM-4.6/GLM-4.5-Air models (85% cheaper than Claude 4.5 - source)- Main model: GLM-4.6 (dialogue, planning, coding, complex reasoning)
- Fast model: GLM-4.5-Air (file search, syntax checking)
- Requires Z.ai API key from z.ai/model-api
OpenAI Codex configuration is stored in ~/.codex/config.toml and includes:
- Default
gpt-5-codexmodel withmodel_reasoning_effortset to "high" and served through the AzureresponsesAPI surface - Azure provider metadata (
model_providers.azure) with the project-specific base URL andenv_keysecret for authentication
VSCode settings are stored in .vscode/settings.json and include:
- GitHub Copilot instructions: Custom AI instructions for automated commit message and PR description generation
- Python formatting with Ruff, auto-save, and format-on-save enabled
- Terminal configurations for cross-platform compatibility
The MCP (Model Context Protocol) configuration lives in mcp.json.
Plugin-based:
/plugin install mcp-server-configs@fcakyon-claude-pluginsManual Installation
Copy mcp.json to your project root named as .mcp.json and adjust MCP servers.
These are some solid MCP server repos worth checking out:
- Azure MCP - 40+ Azure tools (100% free)
- Context7 - Up-to-date documentation context for 20K+ libraries (100% free)
- GitHub MCP Server - 50+ GitHub tools (100% free)
- Linear MCP - Project management tools for Linear (100% free)
- MongoDB MCP - Tools for interacting with MongoDB (100% free)
- Paper Search MCP - Search papers across arXiv, PubMed, bioRxiv, Google Scholar, and more (100% free)
- Playwright MCP - 30+ browser/web testing tools (100% free)
- Slack MCP Server - 10+ Slack tools (100% free)
- Supabase MCP - Database tools for interacting with Supabase (100% free) - Configuration guide
- Tavily MCP - 4 tools for web search and scraping. Better than Claude Code's built-in WebFetch tool (free tier: 1000 monthly requests)
OpenAI Codex compatible version of MCP server configurations can be found in ~/.codex/config.toml.
Specialized agents that run automatically to enhance code quality, stored in .claude/agents/:
Plugin-based:
/plugin install git-workflow-agents@fcakyon-claude-plugins
/plugin install code-simplifier-agent@fcakyon-claude-pluginsManual Installation
Copy agents from .claude/agents/ to your project's .claude/agents/ directory.
-
code-simplifier.md- Contextual pattern analyzer that ensures new code follows existing project conventions (imports, naming, function signatures, class patterns). Auto-triggers after TodoWrite to maintain codebase consistency. -
commit-manager.md- Git commit expert that analyzes staged changes, creates optimal commit strategies, and executes commits with meaningful messages. Handles documentation updates and multi-commit scenarios. -
pr-manager.md- Git and GitHub PR workflow automation that handles branch creation, commits via commit-manager agent, documentation updates, and PR submission with proper formatting.
For more details, see the Claude Code sub-agents documentation.
Custom hooks that enhance tool usage, configured in .claude/settings.json:
Plugin-based:
/plugin install code-quality-hooks@fcakyon-claude-pluginsManual Installation
- Copy hooks from
.claude/hooks/to your project - Copy hook configuration from
.claude/settings.json - Make scripts executable:
chmod +x ./.claude/hooks/*.py
Make hook scripts executable after cloning:
chmod +x ./.claude/hooks/*.pyThese hooks ensure Claude always has access to project-specific instructions by automatically loading them on each prompt.
- hook_load_claude_md.py: Auto-loads CLAUDE.md or AGENTS.md from the project directory on every user prompt. Prevents AI from forgetting main instructions by re-injecting them at every prompt submission.
These hooks provide user confirmation dialogs before executing critical git operations, showing previews of what will be committed or created.
- hook_git_commit_confirm.py: Shows confirmation dialog before creating git commits. Displays commit message, staged files list, and diff statistics. Supports both regular commits and amend operations.
- hook_gh_pr_create_confirm.py: Shows confirmation dialog before creating GitHub pull requests via
gh pr create. Displays PR title, body preview, assignee (resolves @me to actual username), and reviewer.
These hooks redirect native Claude Code web tools to faster and more reliable Tavily alternatives. Native WebSearch/WebFetch tools take 20-30 seconds while Tavily equivalents complete in 1-2 seconds. Additionally, native WebFetch often fails on bot-protected websites while Tavily can bypass these protections.
- hook_webfetch_to_tavily_extract.py: Blocks WebFetch and suggests using Tavily extract with advanced depth
- hook_tavily_extract_to_advanced.py: Enhances tavily-extract calls with advanced extraction depth for better content parsing
- hook_websearch_to_tavily_search.py: Blocks WebSearch and suggests using Tavily search instead
Comprehensive auto-formatting system that covers all major file types, designed to eliminate formatting inconsistencies and reduce CI formatting noise.
-
Whitespace Cleanup (settings.json#L64-L74): Automatically removes whitespace from empty lines in Python, JavaScript, and TypeScript files (
.py,.js,.jsx,.ts,.tsx) after any Edit, MultiEdit, Write, or Task operation. Works cross-platform (macOS and Linux). -
Python Code Quality (hook_python_code_quality.py): Automatically formats and lints Python files using ruff and docformatter after Edit/Write/MultiEdit operations. Matches Ultralytics Actions pipeline exactly:
ruff format --line-length 120ruff check --fix --unsafe-fixes --extend-select I,D,UP --target-version py38docformatter --wrap-summaries 120 --wrap-descriptions 120
-
Prettier Formatting (hook_prettier_formatting.py): Auto-formats JavaScript, TypeScript, CSS, JSON, YAML, HTML, Vue, and Svelte files using prettier. Skips lock files and model.json to prevent conflicts.
-
Markdown Formatting (hook_markdown_formatting.py): Formats Markdown files with prettier, applying special tab-width 4 handling for documentation directories (matches Ultralytics Actions docs formatting).
-
Bash/Shell Formatting (hook_bash_formatting.py): Formats shell scripts (
.sh,.bash) using prettier-plugin-sh for consistent bash scripting style. -
Ripgrep Enforcement (hook_enforce_rg_over_grep.py): Blocks grep and find commands in Bash tool calls, suggesting rg (ripgrep) alternatives for better performance and more features.
This comprehensive formatting setup is designed to achieve zero auto-formatting from CI workflows like Ultralytics Actions. The hooks cover 95% of typical formatting needs:
- ✅ Python (ruff + docformatter)
- ✅ JavaScript/TypeScript (prettier)
- ✅ CSS/SCSS/Less (prettier)
- ✅ JSON/YAML (prettier)
- ✅ HTML/Vue/Svelte (prettier)
- ✅ Markdown (prettier with docs handling)
- ✅ Shell scripts (prettier-plugin-sh)
- ✅ Whitespace cleanup
All hooks gracefully degrade when tools aren't available, never disrupting Claude Code operations. Python formatting configuration inspired by onuralpszr's setup.
For more details, see the Claude Code hooks documentation.
Custom Claude Code slash commands that make life easier, stored in .claude/commands/:
Plugin-based:
/plugin install productivity-commands@fcakyon-claude-pluginsManual Installation
Copy commands from .claude/commands/ to your project's .claude/commands/ directory.
/commit-staged- Commit staged changes using the commit-manager agent with optional context/create-pr- Create pull request using the pr-manager agent with optional context/explain-architecture-pattern- Identify and explain architectural patterns and design decisions/update-pr-summary- Generate PR summaries with advanced analytical frameworks
The setup includes a custom statusline powered by ccusage that displays Claude usage statistics in real-time. The statusline configuration provides:
- Real-time usage tracking: Monitor token consumption and API costs as you work
- Offline support: Cached data ensures statusline works without internet connectivity
- Customizable refresh: Updates every 2 seconds for responsive feedback
- Turkish localization: Displays costs and dates in Turkish format (configurable)
The statusline is configured through two files:
.claude/settings.json: Contains the statusline command configuration.claude/ccusage.json: ccusage-specific settings for locale, timezone, and refresh behavior
For detailed setup instructions and customization options, see the ccusage statusline guide.