Claude Config

Professional configuration management for [Claude Code](https://claude.com/claude-code) with automatic updates.

Views1
PublishedJan 14, 2026

Loading actions...

5 minBeginnerpromptSingle file

Skill content

Main instructions and any bundled files for this skill.

markdown

Claude Config

Professional configuration management for Claude Code with automatic updates.

Quick Start

Install with one command:

sh -c "$(curl -fsSL https://gitlab.com/oldmission/claude-config/-/raw/main/install.sh)"

This installs:

  • Global configuration to ~/.claude/ (custom commands, settings)
  • CLI tool to ~/.local/bin/claude-config (for updates and project management)
  • Optional: Project configuration (you'll be prompted)

Add to PATH if needed:

export PATH="$HOME/.local/bin:$PATH"  # Add to ~/.bashrc or ~/.zshrc

Adding Projects

After installation, use claude-config to manage projects:

# Add a project
claude-config register ~/path/to/project

# List registered projects
claude-config list

# Update everything (global + all projects)
claude-config update

What You Get

Custom slash commands (available globally):

  • /boot - Load project context (design docs + codebase)
  • /design - Interactive design workflow (problem → solution → documentation)
  • /review - Comprehensive code review
  • /commit - Smart commit helper with conventional messages
  • /test - Run tests with auto-detected framework
  • /fix - Quick fix workflow for bugs
  • /refactor - Identify code smells and refactor
  • /explain - Quick code explanations
  • /handoff - Create session handoff for continuity
  • /commands - List all available commands

Automatic updates:

  • Notifications every 13 days when updates are available
  • One command updates global config + all registered projects
  • Automatic backups before updates
  • Rollback support if needed

Configuration levels:

  • Global (~/.claude/) - Personal preferences for all projects
  • Project (CLAUDE.md, .claude/) - Team standards in version control
  • Local (CLAUDE.local.md) - Personal overrides (gitignored)

Language standards (selected during project setup):

  • Python
  • Java
  • C++
  • JavaScript/TypeScript
  • Bash
  • Generic (no language-specific rules)

Common Workflows

Start a project:

claude-config register ~/myproject
# Select languages when prompted
# Files are copied to your project
# Commit CLAUDE.md and language standards to version control

Stay up to date:

# You'll see notifications when updates are available:
# šŸ“¦ Claude Config update available
#    Run 'claude-config update' to upgrade

claude-config update

Design → implement → review:

/plan on
/design authentication    # Design the feature
# ... implement ...
/test                     # Run tests
/review latest            # Review changes
/commit                   # Smart commit
/handoff                  # End session with handoff

Session continuity:

# End of session:
/handoff                  # Captures todos, decisions, next steps

# Start of next session:
/boot .                   # Loads DESIGN.md, HANDOFF.md, context
# Continue exactly where you left off

Configuration Levels Explained

Global (~/.claude/)

Personal preferences that apply to all projects.

  • Custom slash commands
  • Git preferences
  • Linter settings
  • Located at ~/.claude/CLAUDE.md, ~/.claude/settings.json, ~/.claude/commands/

Project (CLAUDE.md, .claude/)

Team standards checked into version control.

  • Coding standards
  • Development workflows
  • Language-specific rules (via *-code-standard.md files)
  • Testing requirements
  • Commit these files so your whole team uses the same standards

Local (CLAUDE.local.md)

Personal overrides NOT shared with team (gitignored).

  • Personal coding preferences
  • Local environment settings
  • Optional - create manually if needed
  • See project/CLAUDE.local.md.example for reference

Language Standards

During project setup, select language(s) for your project. Selected standards are copied to your project root:

  • python-code-standard.md - Python naming, linting (ruff), testing (pytest), virtual environments
  • java-code-standard.md - Java naming, builds (Maven/Gradle), testing (JUnit), JavaDoc
  • cpp-code-standard.md - C++ naming, builds (CMake), linting (clang-format/clang-tidy), testing (GTest)
  • javascript-code-standard.md - JS/TS naming, linting (ESLint/Prettier), testing (Jest/Vitest)
  • bash-code-standard.md - Bash naming, linting (shellcheck), compatibility (Bash 3.2+)

Polyglot projects can select multiple languages.

CLI Reference

claude-config update              # Update global + all projects
claude-config list                # Show registered projects
claude-config register <path>     # Add a project
claude-config unregister <path>   # Remove a project
claude-config rollback            # Restore from backup
claude-config version             # Show version
claude-config help                # Show help

Repository Structure

~/.claude-config/                 # Installed here (like ~/.oh-my-zsh)
ā”œā”€ā”€ install.sh                    # Installer (used by curl command)
ā”œā”€ā”€ claude-config                 # CLI tool (symlinked to ~/.local/bin/)
ā”œā”€ā”€ global/                       # Global configuration templates
│   ā”œā”€ā”€ CLAUDE.md
│   ā”œā”€ā”€ settings.json
│   └── commands/                 # Slash commands
│       ā”œā”€ā”€ boot.md
│       ā”œā”€ā”€ design.md
│       ā”œā”€ā”€ review.md
│       ā”œā”€ā”€ commit.md
│       ā”œā”€ā”€ test.md
│       ā”œā”€ā”€ fix.md
│       ā”œā”€ā”€ refactor.md
│       ā”œā”€ā”€ explain.md
│       ā”œā”€ā”€ handoff.md
│       └── commands.md
└── project/                      # Project configuration templates
    ā”œā”€ā”€ CLAUDE.md                 # Language-agnostic standards
    ā”œā”€ā”€ .claude/settings.local.json
    ā”œā”€ā”€ .gitignore
    ā”œā”€ā”€ CLAUDE.local.md.example
    └── languages/                # Language-specific standards
        ā”œā”€ā”€ python-code-standard.md
        ā”œā”€ā”€ java-code-standard.md
        ā”œā”€ā”€ cpp-code-standard.md
        ā”œā”€ā”€ javascript-code-standard.md
        └── bash-code-standard.md

Customization

Before installation:

  • Clone the repo: git clone https://gitlab.com/oldmission/claude-config.git
  • Edit files in global/ and project/ to match your preferences
  • Run ./install.sh from the repo directory

After installation:

  • Global configs: Edit ~/.claude/ files directly
  • Create custom commands: Add ~/.claude/commands/mycommand.md
  • Add projects: claude-config register <path>

Best Practices

  1. Commit project configs - Check in CLAUDE.md, *-code-standard.md, and .claude/settings.local.json
  2. Gitignore personal configs - Never commit CLAUDE.local.md (it's for personal overrides)
  3. Regular updates - Run claude-config update when notified
  4. Use custom commands - Leverage /boot, /design, /review, /commit, /handoff for better workflows
  5. Session continuity - Use /handoff at end of sessions, /boot . at start
  6. Team alignment - Discuss and agree on project-level rules with your team

Git CLI Auto-Detection

Automatically works with both GitHub and GitLab:

  • Detects GitHub repos → uses gh CLI
  • Detects GitLab repos → uses glab CLI
  • Natural commands: "create a PR", "list my MRs" (understands both terminologies)
  • See global CLAUDE.md for details

Contributing

Contributions welcome! Please ensure:

  • Shell scripts pass shellcheck validation
  • Documentation updated for new features
  • Backward compatibility maintained
  • Clear merge request descriptions

Adding Language Standards

  1. Create project/languages/{language}-code-standard.md
  2. Include naming, linting, testing, documentation standards
  3. Update install.sh language selection menu
  4. Add commented @{language}-code-standard.md to project/CLAUDE.md
  5. Update this README
  6. Submit PR

Support

License

MIT License - See LICENSE file for details

Share: