feat: Add settings system, agent registry, framework detection, and CI/CD#2
Merged
Conversation
rowino
commented
Feb 10, 2026
Owner
- Settings service with layered config (global/project/local), show/update commands
- Agent system with registry, detector, runner, and 6 agent implementations
- Framework detection (Laravel, Symfony, Generic)
- BuildMode enum, self-update command
- Reworked init and watch commands to use settings
- CI/CD workflows for tests and releases
…I/CD - Settings service with layered config (global/project/local), show/update commands - Agent system with registry, detector, runner, and 6 agent implementations - Framework detection (Laravel, Symfony, Generic) - BuildMode enum, self-update command - Reworked init and watch commands to use settings - CI/CD workflows for tests and releases
Fixes three regressions introduced during settings system refactor: 1. BuildCommand: Honor defaultMode from settings when --mode omitted - Add resolveModeOption() to read from SettingsService - Precedence: CLI flag > settings > fallback to 'interactive' 2. AgentRunner: Pass LARACODE_LOCK_FILE to spawned agents - Add buildEnvironment() to inherit parent env + add lock path - Enables SessionStart hook to write session_id for statusline 3. OpenCodeAgent: Fix project settings path - Write to ./.opencode/opencode.json (not ./opencode.json) - Add migrateLegacySettings() for backward compatibility - Migration keeps legacy file for safety Tests: - BuildCommandModeTest: Verify mode resolution logic - AgentRunnerTest: Verify environment variable passing - OpenCodeAgentTest: Verify settings path and migration All tests pass (429 passed, 13 skipped, 1059 assertions) PHPStan: No errors
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.