Skip to content

feat: add configuration management CRUD UI#290

Merged
zbigniewsobiecki merged 2 commits intodevfrom
feat/config-management-ui
Feb 16, 2026
Merged

feat: add configuration management CRUD UI#290
zbigniewsobiecki merged 2 commits intodevfrom
feat/config-management-ui

Conversation

@zbigniewsobiecki
Copy link
Copy Markdown
Member

Summary

  • Full CRUD UI for projects, credentials, agent configs, and org defaults — no more raw SQL or CLI scripts needed
  • Backend: New settingsRepository, 4 new tRPC routers (organization, defaults, credentials, agentConfigs), expanded projects router with integrations and credential overrides sub-routers
  • Frontend: shadcn/ui components, sidebar navigation with Projects + Settings sections, tabbed project detail view, form validation, masked credential values
  • Agent backend fields now use Select dropdowns (llmist / claude-code) instead of free-text inputs
  • 96 new tests across 7 test files covering all new routers and the repository layer
  • CI improvements: web frontend build/typecheck now runs in CI pipeline
  • Code quality: fixed pre-existing cognitive complexity lint warnings in claude-code backend and manage-secrets CLI, added tmp-*.ts to .gitignore

Changes

Backend

Area Files
Repository src/db/repositories/settingsRepository.ts (new)
tRPC Routers src/api/routers/{organization,defaults,credentials,agentConfigs}.ts (new), projects.ts (expanded)
Root Router src/api/router.ts (register new sub-routers)
Code Quality src/backends/claude-code/index.ts, tools/manage-secrets.ts (refactored for complexity)

Frontend

Area Files
Navigation sidebar.tsx (Projects + Settings sections)
Routes projects/index.tsx, projects/$projectId.tsx, settings/{general,credentials,agents}.tsx
Project Components projects-table, project-form-dialog, project-general-form, integration-form, credential-overrides, project-agent-configs
Settings Components org-form, defaults-form, credentials-table, credential-form-dialog, agent-configs-table, agent-config-form-dialog
UI Primitives 14 shadcn/ui components

Tests

File Tests
organization.test.ts 6
defaults.test.ts 7
credentials.test.ts 12
agentConfigs.test.ts 13
projects.test.ts 25 (expanded from 3)
settingsRepository.test.ts 16
router.test.ts 7 (expanded from 3)

CI / Infra

  • .github/workflows/ci.yml — added web dependency install + frontend build step
  • .gitignore — added tmp-*.ts

Test plan

  • npm run typecheck — clean
  • npm run lint — 0 errors, 0 warnings
  • npm test — 74 files, 1096 tests passing
  • CI pipeline passes (lint, typecheck, build, tests, web build)
  • Manual: navigate all new pages, create/edit/delete entities

🤖 Generated with Claude Code

zbigniewsobiecki and others added 2 commits February 16, 2026 12:54
… and agent configs

Adds a complete self-service configuration UI to the CASCADE dashboard,
replacing the need for direct SQL or CLI scripts to manage projects,
credentials, agent configs, and organization defaults.

Backend:
- New settingsRepository with CRUD for orgs, defaults, projects,
  integrations, and agent configs
- Four new tRPC routers: organization, defaults, credentials, agentConfigs
- Expanded projects router with integrations and credential overrides
  sub-routers
- Credential values masked in API responses (last 4 chars only)
- Ownership verification on all mutations

Frontend:
- Sidebar navigation with Projects and Settings sections
- Project list page with create dialog and tabbed detail view
  (General, Integrations, Credentials, Agent Configs)
- Settings pages for org name, cascade defaults, credentials CRUD,
  and global agent config management
- shadcn/ui components (14 primitives) with react-hook-form
- Agent backend fields use Select dropdowns (llmist, claude-code)

Quality:
- 96 new tests across 7 test files (routers + repository)
- CI now builds and typechecks the web frontend
- Fixed pre-existing lint warnings (cognitive complexity) in
  claude-code backend and manage-secrets CLI
- Zero lint errors/warnings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tup-webhooks

- Add missing `web/src/components/logs/log-viewer.tsx` that was
  referenced by `$runId.tsx` but never committed (broke web build in CI)
- Fix `.gitignore`: change `logs/` to `/logs/` so it only matches the
  root logs directory (not `web/src/components/logs/`)
- Add `*.tsbuildinfo` to `.gitignore`
- Commit previously-untracked `tools/setup-webhooks.ts`
- Fix cognitive complexity warnings in setup-webhooks.ts by extracting
  print and delete helpers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@zbigniewsobiecki zbigniewsobiecki merged commit 244db75 into dev Feb 16, 2026
4 checks passed
@zbigniewsobiecki zbigniewsobiecki deleted the feat/config-management-ui branch March 16, 2026 16:43
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