Skip to content

feat: Add settings system, agent registry, framework detection, and CI/CD#2

Merged
rowino merged 4 commits into
masterfrom
feature/settings
Feb 18, 2026
Merged

feat: Add settings system, agent registry, framework detection, and CI/CD#2
rowino merged 4 commits into
masterfrom
feature/settings

Conversation

@rowino

@rowino rowino commented Feb 10, 2026

Copy link
Copy Markdown
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
@rowino rowino merged commit 6bc0b6f into master Feb 18, 2026
5 checks passed
@rowino rowino deleted the feature/settings branch February 18, 2026 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant