atxtechbro / atxtechbro/dotfiles
feat: establish default non-Bedrock Claude Code environment configuration
- Dominant language
- Shell
- Stars
- 27
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Establish the default non-Bedrock Claude Code environment as the standard configuration in dotfiles, ensuring users get a clean, working Claude Code experience by default without Bedrock assumptions.
## Problem
Issue #761 and PR #762 introduce Bedrock integration that can interfere with the default Claude Code experience. Users should have a reliable, non-Bedrock setup by default, with Bedrock as an opt-in enhancement.
## Requirements
- Set explicit non-Bedrock environment variables as the default
- Configure Claude Code settings to use standard Anthropic API by default
- Ensure `source setup.sh` results in working Claude Code without Bedrock configuration
- Make Bedrock integration purely opt-in (don't auto-configure when AWS CLI is detected)
- Follow the same pattern as contributor attribution in `.claude/settings.json`
## Implementation Plan
### 1. Default Environment Variables
Create `.bash_exports.claude.template` with explicit non-Bedrock defaults:
```bash
#!/bin/bash
# Default Claude Code Configuration (Non-Bedrock)
# Ensures Claude Code uses standard Anthropic API by default
# Explicitly disable Bedrock integration
export CLAUDE_CODE_USE_BEDROCK=0
# Use standard Anthropic API endpoints
unset AWS_REGION
unset AWS_PROFILE
unset ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION
# Standard model configuration
export ANTHROPIC_MODEL='claude-3-5-sonnet-20241022'
export ANTHROPIC_SMALL_FAST_MODEL='claude-3-5-haiku-20241022'
```
### 2. Claude Settings Integration
Add non-Bedrock defaults to `.claude/settings.json` similar to contributor attribution:
```json
{
"coAuthor": {
"enabled": true,
"name": "Claude (Anthropic)"
},
"environment": {
"bedrock": {
"enabled": false,
"default": "anthropic-api"
}
}
}
```
### 3. Setup Script Modifications
Update `setup.sh` to:
- Always create `.bash_exports.claude.local` from template (if not exists)
- Source Claude defaults before any Bedrock configuration
- Make Bedrock setup require explicit user confirmation
- Ensure non-Bedrock works out of the box
### 4. Alias and Function Updates
Update `.bash_aliases.d/claude.sh`:
- Ensure `claude` command works with standard API by default
- Keep `claude-bedrock` as separate opt-in function
- Add validation that standard Claude Code works before offering Bedrock
### 5. Documentation
- Update README.md to emphasize default non-Bedrock experience
- Document Bedrock as optional enterprise feature
- Provide troubleshooting for "Claude Code thinks I want Bedrock" issues
## Success Criteria
- Fresh `git clone && source setup.sh` results in working Claude Code
- No Bedrock environment variables set by default
- `claude` command works immediately without AWS configuration
- Bedrock integration remains available but requires explicit opt-in
- Clear separation between default and enterprise configurations
## Relationship to Existing Work
- Complements #761 by ensuring default experience remains clean
- Uses same configuration patterns as contributor attribution
- Maintains backward compatibility with existing non-Bedrock users
- Provides foundation for easy Bedrock opt-in when desired
## Testing Plan
- Test fresh repository clone and setup
- Verify Claude Code works without any AWS configuration
- Confirm Bedrock integration still works when explicitly enabled
- Test that setup.sh doesn't auto-configure Bedrock
Principle: systems-stewardship, developer-experience
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading setup.sh and the existing .bash_aliases.d/claude.sh and .claude/settings.json patterns, then review how Claude and Bedrock configuration are currently sourced. Add the requested default and opt-in separation across the named files and README.md. Validate with a fresh clone and source setup.sh, checking standard Claude operation without AWS configuration and explicit Bedrock opt-in.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli, developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100