-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Overview
Add support for a configuration file to avoid repeating command-line flags and manage multiple environments.
Proposed Feature
Configuration File Format
# .bushelrc (in project root or ~/.bushelrc)
[cloudkit]
container_id = "iCloud.com.brightdigit.Bushel"
key_id = "YOUR_KEY_ID"
key_file = "~/.cloudkit/bushel-private-key.pem"
environment = "development" # or "production"
[sync]
include_betas = true
include_apple_wiki = true
dry_run = false
verbose = false
[export]
pretty_print = true
signed_only = falseImplementation
- Use a TOML/JSON configuration parser
- Search order:
./bushelrcβ~/.bushelrcβ command-line flags - Command-line flags override config file values
- Add
--configflag to specify custom config path
Benefits
- Easier setup for new users
- Environment-specific configurations (dev/prod)
- No need to remember all flags
- Credential management in one place
Example Usage
# Create config file once
cat > .bushelrc <<EOF
[cloudkit]
container_id = "iCloud.com.brightdigit.Bushel"
key_id = "YOUR_KEY_ID"
key_file = "./private-key.pem"
EOF
# Then simple commands
bushel-images sync # Uses .bushelrc
bushel-images sync --verbose # Override verbose settingSecurity Note
- Add .bushelrc to .gitignore
- Document security best practices
- Consider environment variable expansion in config
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request