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
Prerequisites: Before installing, ensure you have Claude Code and required tools installed. See INSTALL.md for complete prerequisites.
Install agents, commands, hooks, and MCP servers via Claude Code Plugins 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.md AGENTS.mdRestart Claude Code to activate.
| 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 (SonnetPlan mode: plan with Sonnet 4.5, execute with Haiku 4.5 - source)
- Environment variables (bash working directory, telemetry disabled, MCP output limits)
- Safe tools permissions (allowed bash commands, git operations, MCP tools)
- Custom statusline powered by ccusage
- Enabled plugins configuration
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 install mcp-server-configs@fcakyon-claude-pluginsThese 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) - See configuration below
- 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)
Claude Code (HTTP Remote - Recommended):
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp",
"headers": {
"Authorization": "Bearer ghp_..."
}
}Claude Desktop (Docker - More Stable):
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
}
}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-plugins-
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 install code-quality-hooks@fcakyon-claude-pluginsThese hooks ensure Claude always has access to project-specific instructions by automatically loading them on each prompt.
- 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.
- 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.
- 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.
- webfetch_to_tavily_extract.py: Blocks WebFetch and suggests using Tavily extract with advanced depth
- tavily_extract_to_advanced.py: Enhances tavily-extract calls with advanced extraction depth for better content parsing
- 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 (python_code_quality.py): Automatically formats and lints Python files using ruff after Edit/Write/MultiEdit operations. Uses custom Google-style docstring formatter (format_python_docstrings.py) inspired by Ultralytics Actions:
ruff format --line-length 120ruff check --fix --extend-select I,D,UP --target-version py39- Custom docstring formatter for Google-style compliance
-
Prettier Formatting (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 (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 (bash_formatting.py): Formats shell scripts (
.sh,.bash) using prettier-plugin-sh for consistent bash scripting style. -
Ripgrep Enforcement (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 + custom docstring formatter)
- ✅ 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 install productivity-commands@fcakyon-claude-plugins/clean-gone-branches- Clean up local branches deleted from remote/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- Update PR description with automatically generated summary based on complete changeset
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.