atxtechbro / atxtechbro/dotfiles
Investigate project-specific Claude settings approach for dotfiles repository
- Dominant language
- Shell
- Stars
- 27
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## Problem
Currently, we face a dilemma with Claude Code settings in the dotfiles repository:
1. **`.claude/settings.json`** - Currently tracked in source control as "shared team settings"
2. **`.claude/settings.local.json`** - Gitignored as "personal overrides" per Anthropic docs
However, for the dotfiles repository specifically, we need richer project-level settings that:
- Configure which MCP servers are enabled for dotfiles work
- Set specific permissions for dotfiles development
- Are version-controlled as part of the dotfiles "source of truth"
- Don't conflict with personal global preferences
## Current Pain Points
- Can't version-control project-specific settings without violating Anthropic's conventions
- No clear way to define "this is how Claude should behave when working on dotfiles"
- Settings that make sense for dotfiles work might not make sense globally
- The `.claude/settings.local.json` file is explicitly meant NOT to be checked in
## Proposed Investigation
### Option 1: Flip the Convention
- Use `.claude/settings.json` for personal/global settings (move to home directory?)
- Use `.claude/settings.local.json` for project-specific settings (track in git)
- Explicitly document this is a dotfiles-specific convention
### Option 2: Custom Settings File
- Create `.claude/settings.dotfiles.json` or similar
- Build tooling to merge/apply these settings
- Keep standard files for their intended purposes
### Option 3: Leverage Existing Mechanisms
- Investigate if Claude Code has other ways to specify project settings
- Check for environment variables or config precedence we're missing
- See if there's a "workspace" concept we can use
### Option 4: Template-Based Approach
- Similar to our MCP config approach
- Generate `.claude/settings.local.json` from a template
- Track the template, not the generated file
## Success Criteria
- Project-specific settings for dotfiles work are version-controlled
- Personal preferences remain personal
- Solution doesn't break Claude Code's expectations
- Clear documentation on which settings go where
- Follows the dotfiles philosophy of "everything hardened in source control"
## Questions to Answer
1. What's the full precedence order for Claude Code settings?
2. Can we use directory-specific settings (like `.envrc` for direnv)?
3. Would Anthropic be open to a feature request for project settings?
4. What do other teams using Claude Code + dotfiles do?
This investigation should help us find a clean solution that respects both Anthropic's design and our dotfiles principles.
Principle: systems-stewardship
Contributor guide
No contributing guide indexed for this repository
Research direction
Read .claude/settings.json and .claude/settings.local.json, then consult the Anthropic settings documentation and review the existing MCP config approach. Determine the precedence and supported project-level mechanisms, compare the proposed options, and document a version-controlled solution that preserves personal preferences and Claude Code expectations.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100