About C3P
C3P is claude-code-config-profiles — a tiny CLI that lets you keep
multiple named configurations for Claude Code’s
.claude/ directory and swap between them atomically.
Why it exists
Section titled “Why it exists”Claude Code reads project context from .claude/: agent definitions,
slash-command definitions, project rules in CLAUDE.md. Editing those
files in place is fine for one project with one set of instructions, but
real workflows aren’t like that:
- A solo dev wants a verbose profile with debug agents while exploring, and a quiet profile for shipping.
- A team wants one canonical, version-controlled profile shared across every machine and CI runner.
- A pipeline wants deterministic, drift-proof swaps so the agent’s behaviour can’t be silently affected by a stray uncommitted edit.
C3P keeps profiles as source of truth (under .claude-profiles/) and treats
.claude/ as a regenerated artifact, with a drift gate
between you and any unintended overwrite.
Project status
Section titled “Project status”C3P is on the 1.x line. The CLI surface is stable; non-breaking improvements
land on main and ship as cosign-signed Go binaries via Homebrew, WinGet,
GitHub Releases, and go install. See the
CHANGELOG
for the canonical history and the latest version.
How to contribute
Section titled “How to contribute”The project lives on GitHub at github.com/htxryan/claude-code-config-profiles. The fastest way to help:
- Try C3P in a real project and file an issue if something feels off.
- Read
CONTRIBUTING.mdbefore sending a PR — it covers the test/lint/conventional-commits workflow. - For larger changes, open a discussion first so we can align on approach.
License
Section titled “License”C3P is released under the MIT License. See LICENSE for the full text.
Contact
Section titled “Contact”- Issues / feature requests: GitHub Issues
- Pull requests: GitHub PRs
- npm package:
claude-code-config-profiles