atxtechbro / atxtechbro/dotfiles
Audit: Configurations violating global-first principle
- Dominant language
- Shell
- Stars
- 27
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## Overview
Following the establishment of the global-first configuration principle in #793, this issue documents configurations that currently violate this principle by being local-only when they could provide global value.
## Violations Found
### 1. Claude Code Configurations
- **`.claude/settings.json`** contains repository-specific settings with hardcoded local paths
- **`.claude/personalities/`** and **`.claude/command-templates/`** are only available within the dotfiles repo
- These tools and configurations could benefit all projects but are locked to this repository
### 2. MCP Server Configurations
- MCP servers are installed locally within the dotfiles repository or worktrees
- No evidence of truly global MCP configuration that works across all projects
- The global alias approach helps but servers themselves remain local
### 3. Hardcoded Local Paths
Multiple files contain hardcoded paths that prevent portability:
- `/home/linuxmint-lp/ppv/pillars/dotfiles/` throughout documentation
- `~/ppv/pillars/dotfiles/` in various scripts
- These should use environment variables or be made relative
### 4. Repository-Specific AI Context
- **`CLAUDE.md`** provides AI context only when working in the dotfiles repo
- Claude personalities and command templates aren't globally accessible
- This valuable context should be available in all projects
### 5. Worktree Isolation
- Each worktree creates its own isolated environment with local MCP servers
- `DOT_DEN` is set relative to where `setup.sh` is sourced
- This creates multiple local environments rather than leveraging global configurations
## Recommended Actions
### Immediate Fixes
1. [ ] Move Claude personalities to a global location (e.g., `~/.claude/personalities/`)
2. [ ] Make command templates globally accessible
3. [ ] Replace hardcoded paths with environment variables
4. [ ] Create true global MCP server installations
### Medium-term Improvements
1. [ ] Separate dotfiles-specific configurations from globally useful ones
2. [ ] Create a clear directory structure distinguishing local vs global configs
3. [ ] Update setup scripts to install configurations globally by default
4. [ ] Document which configurations are exceptions to the global-first principle
### Long-term Vision
1. [ ] All AI assistant configurations should be globally available
2. [ ] MCP servers should be installed system-wide, not per-repository
3. [ ] Command templates and personalities should work in any project
4. [ ] Clear separation between "dotfiles management" and "global developer tools"
## Success Criteria
- Configurations that provide value across projects are globally accessible
- Local-only configurations are clearly marked as exceptions with justification
- No hardcoded paths that prevent sharing or portability
- Setup script installs global configurations by default
## Related Issues
- #793 - Establish global-first configuration principle
- #577 - Claude Code settings migration (mentioned as work in progress)
This audit reveals that while we've established the principle, significant work remains to align the repository with it. The current state shows many valuable configurations trapped within the dotfiles repository when they could be enhancing development globally.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading #793 and #577, then inspect .claude/settings.json, .claude/personalities/, .claude/command-templates/, setup.sh, and CLAUDE.md. Trace how DOT_DEN and the listed hardcoded paths are used across scripts and documentation. Done means globally useful configurations are installed by default, local exceptions are marked, paths are portable, and the stated success criteria are met.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- developer-experience, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100