Skip to content

[AIDE-101] App Management - #81

Merged
chandlerhuff merged 5 commits into
mainfrom
feature/AIDE-101-app-management
Aug 4, 2026
Merged

[AIDE-101] App Management#81
chandlerhuff merged 5 commits into
mainfrom
feature/AIDE-101-app-management

Conversation

@chandlerhuff

Copy link
Copy Markdown
Member

Summary

Introduces Apps: a product grouping that owns one or more repositories and aggregates their development resources in one place. Each app presents an overview plus repository, worktree, plan, session, and build tabs, all scoped to the repositories assigned to the app.

Changes

  • App data model & API: New App / AppRepository Prisma models with a migration, case-insensitive unique app names, and a GraphQL schema (apps.graphql) exposing app CRUD, per-app resource counts, and an appsChanged subscription. Resolvers reject agent credentials.
  • AppsService: Backend CRUD with validation, repository assignment checks, unique-name enforcement, scoped totals (codebases, worktrees, plans, sessions, builds) across assigned repositories, and change events on the agent event bus.
  • Repository lifecycle fix: CodebasesService now keeps a repository on disk when its last codebase is removed if an app still assigns it, so assignments survive codebase removal.
  • App-scoped resource queries: worktreeOverview, hiddenWorktrees, agentRuns, and builds accept an appId and filter to repositories assigned to that app; active worktree moves are scoped the same way.
  • Apps UI: New /apps index with clickable cards and count tiles that deep-link to their tab, and a new /apps/[appId] detail page with tabs for overview, repositories, worktrees, plans, sessions, and builds, plus an editor dialog (create/edit with repository checkboxes) and a delete confirmation. "New plan/session" links carry the app context into the run composer.
  • Build launcher: AppBuildLauncher on the builds tab lists the app's worktrees (filtered to online, build-capable agents) and starts a build on the selected worktree.
  • Control agent checkpoint hardening: Replaced execFile buffering with a streaming cappedGit helper that stops reading git output at the control plane's patch/summary/manifest limits, preventing buffer-overflow failures and runaway memory on large or binary worktrees; mock:db now creates the DB file before migrating.
  • Navigation & support: Sidebar/command palette entry, breadcrumbs, translations for de/en/es/fr, Playwright routes, and mock seed data.

Ticket: AIDE-101

Make app cards in the apps list open their detail page on click, and turn
the count tiles (worktrees, plans, sessions) into links that jump straight
to the matching tab via the view query param.

Also drop the max-width container constraint on the builds and runs pages
so they fill the detail page layout.
@chandlerhuff chandlerhuff self-assigned this Aug 4, 2026
Add repositoryId to AgentRun and Build so app-scoped counts and queries
filter directly on the repository instead of joining through the worktree
and codebase. Backfill existing rows from their worktree or codebase and
index the new columns.

Consolidate the apps pages' change subscriptions into a shared helper
that watches apps, codebases, worktrees, runs, and builds, and remount
the detail tabs so they refresh when the app changes.
@chandlerhuff
chandlerhuff merged commit f97a4aa into main Aug 4, 2026
3 checks passed
@chandlerhuff
chandlerhuff deleted the feature/AIDE-101-app-management branch August 4, 2026 03:16
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