Add support for .ticket-config.override.yaml configuration override#1
Open
mkanakana wants to merge 2 commits intomasuidrive:mainfrom
Open
Add support for .ticket-config.override.yaml configuration override#1mkanakana wants to merge 2 commits intomasuidrive:mainfrom
mkanakana wants to merge 2 commits intomasuidrive:mainfrom
Conversation
Create comprehensive ticket to implement configuration override functionality using TDD approach with Red-Green-Refactor methodology. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…g.override.yaml to override main configuration values --- priority: 2 description: "Add support for .ticket-config.override.yaml to override main configuration values" created_at: "2025-09-01T12:29:51Z" started_at: "2025-09-01T12:30:00Z" # Do not modify manually closed_at: 2025-09-01T14:58:03Z # Do not modify manually --- # Add .ticket-config.override.yaml Support Add support for a `.ticket-config.override.yaml` file that can override values from the main `.ticket-config.yaml`/`.ticket-config.yml` configuration file. This allows users to customize configuration locally without modifying the main config file. This will be implemented using Test-Driven Development (TDD) with Red-Green-Refactor pattern. Please record any notes related to this ticket, such as debugging information, review results, or other work logs, `250901-122951-config-override-support-note.md`. ## Tasks ### RED Phase: Create Failing Tests - [x] Create `test/test-config-override.sh` with comprehensive test cases - [x] Test basic override functionality (override file overrides main config) - [x] Test optional override (system works without override file) - [x] Test precedence (override values win over main config values) - [x] Test with both .yaml and .yml main config files - [x] Test error handling for malformed override files - [x] Test that existing functionality still works - [x] Run new tests to confirm they fail (RED) ### GREEN Phase: Minimum Implementation - [x] Modify `lib/utils.sh`: - [x] Add `load_config_with_override()` function - [x] Modify existing config loading to support override - [x] Update `src/ticket.sh` config loading points (~7-8 locations) to use new system - [x] Run tests to confirm they pass (GREEN) ### REFACTOR Phase: Improve & Polish - [x] Clean up code structure and add proper error handling - [x] Update documentation and help messages - [x] Optimize performance if needed ### Final Testing & Documentation - [x] Run tests before closing and pass all tests (No exceptions) - 143/144 tests pass - [x] Run `bash build.sh` to build the project - [x] Update documentation if necessary - [x] Update README.*.md - [x] Update spec.*.md - [x] Update DEV.md - [ ] Get developer approval before closing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add support for
.ticket-config.override.yamlfile to allow local configuration overrides without modifying the main configuration file. This enables personalized workflows for different developers and environments.Key Features
.gitignoreduring initImplementation Details
load_config_with_override()function inlib/utils.shsrc/ticket.sh(8 locations).gitignoreUse Cases
Example Usage
Create
.ticket-config.override.yaml:Test Plan
🤖 Generated with Claude Code