Home
madison
/
open-git
public
Overview
Code
History
Branches
Pull requests
Issues
Insights
Campfire
Docs
Home
Overview
Code
PRs
Issues
More
feat(web): introduce IDE-style repository workbench
2 months ago
8b186b1
Authored
V.C. Billingsley
7/16/2026, 5:49:27 AM
Parent
ddfdfeb
172 files changed
README.md
+8
−7
apps/community/.env.example
+1
−1
apps/community/README.md
+1
−1
apps/community/package.json
+2
−2
apps/web/.env.example
+2
−2
apps/web/app/(home)/activity-row.tsx
+2
−2
apps/web/app/(home)/ci-health.tsx
+1
−1
apps/web/app/(home)/feed-sidebar.tsx
+3
−35
apps/web/app/(home)/layout.tsx
+4
−11
apps/web/app/(home)/leaderboard.tsx
+1
−1
apps/web/app/(home)/page.tsx
+16
−19
apps/web/app/(home)/trending-repos.tsx
+1
−1
apps/web/app/[username]/[repository]/blob/[...path]/page.tsx
+12
−222
apps/web/app/[username]/[repository]/blob/layout.tsx
+6
−96
apps/web/app/[username]/[repository]/branches/page.tsx
+125
−0
apps/web/app/[username]/[repository]/campfire/campfire-room.tsx
+289
−283
apps/web/app/[username]/[repository]/campfire/campfire-thread-ref-card.tsx
+1
−1
apps/web/app/[username]/[repository]/campfire/page.tsx
+4
−24
apps/web/app/[username]/[repository]/docs/docs-page.tsx
+1
−1
apps/web/app/[username]/[repository]/fork/fork-repository-form.tsx
+10
−5
apps/web/app/[username]/[repository]/insights/page.tsx
+1
−1
apps/web/app/[username]/[repository]/issues/new/page.tsx
+3
−31
apps/web/app/[username]/[repository]/issues/page.tsx
+3
−12
apps/web/app/[username]/[repository]/layout.tsx
+45
−29
apps/web/app/[username]/[repository]/pulls/[number]/autopilot/autopilot-run-client.tsx
+1
−1
apps/web/app/[username]/[repository]/pulls/[number]/autopilot/page.tsx
+3
−18
apps/web/app/[username]/[repository]/pulls/[number]/conversation-checks.tsx
+1
−1
apps/web/app/[username]/[repository]/pulls/[number]/pull-request-conversation.tsx
+1
−1
apps/web/app/[username]/[repository]/pulls/[number]/pull-request-detail.tsx
+1
−1
apps/web/app/[username]/[repository]/pulls/[number]/pull-request-files-chrome.tsx
+1
−1
apps/web/app/[username]/[repository]/pulls/[number]/pull-request-files-review.tsx
+1
−1
apps/web/app/[username]/[repository]/pulls/[number]/pull-request-forms.tsx
+1
−1
apps/web/app/[username]/[repository]/pulls/[number]/pull-request-merge-box.tsx
+1
−1
apps/web/app/[username]/[repository]/pulls/[number]/pull-request-stack-panel.tsx
+1
−1
apps/web/app/[username]/[repository]/pulls/new/new-pull-request-modal.tsx
+4
−2
apps/web/app/[username]/[repository]/pulls/new/pull-request-dialog-chrome.tsx
+8
−3
apps/web/app/[username]/[repository]/pulls/page.tsx
+10
−20
apps/web/app/[username]/[repository]/repository-branch-switcher.tsx
+21
−2
apps/web/app/[username]/[repository]/repository-file-tree.tsx
+62
−23
apps/web/app/[username]/[repository]/repository-file.tsx
+298
−0
apps/web/app/[username]/[repository]/repository-files-sidebar-button.tsx
+37
−0
apps/web/app/[username]/[repository]/repository-home.tsx
+44
−45
apps/web/app/[username]/[repository]/repository-latest-commit.tsx
+1
−1
apps/web/app/[username]/[repository]/repository-layout-shell.tsx
+21
−14
apps/web/app/[username]/[repository]/repository-tabs.tsx
+8
−8
apps/web/app/[username]/[repository]/settings/_components/repository-settings-nav.tsx
+44
−18
apps/web/app/[username]/[repository]/settings/layout.tsx
+14
−16
apps/web/app/[username]/gitty-actions.ts
+0
−28
apps/web/app/[username]/gitty-card.tsx
+0
−112
apps/web/app/[username]/gitty-controls.tsx
+0
−63
apps/web/app/[username]/page.tsx
+9
−38
apps/web/app/[username]/settings/_components/organization-settings-nav.tsx
+1
−1
apps/web/app/api/repos/[repoId]/files/route.ts
+47
−0
apps/web/app/ci/runs/[runId]/jobs/[jobId]/page.tsx
+14
−14
apps/web/app/ci/runs/[runId]/jobs/[jobId]/workflow-job-log-viewer.tsx
+3
−3
apps/web/app/favicon.ico
—
—
apps/web/app/gitty-lab/page.tsx
+3
−113
apps/web/app/home/home-readme.tsx
+9
−7
apps/web/app/layout.tsx
+29
−27
apps/web/app/onboarding/onboarding-experience.tsx
+3
−37
apps/web/app/onboarding/onboarding-identity-preview.tsx
+9
−144
apps/web/app/repositories/import/github/github-import-form.tsx
+1
−1
apps/web/app/repositories/new/create-repository-form.tsx
+1
−1
apps/web/app/settings/account/account-settings-sections/connections.tsx
+1
−1
apps/web/app/settings/account/account-settings-sections/settings.tsx
+1
−1
apps/web/app/settings/account/teams/new/create-organization-form.tsx
+1
−1
apps/web/app/sign-up/sign-up-form.tsx
+11
−11
apps/web/app/tos/page.tsx
+24
−17
apps/web/app/workspace/create-new-menu.tsx
+8
−8
apps/web/app/workspace/dashboard-detail.tsx
+70
−2
apps/web/app/workspace/dashboard-list-skeleton.tsx
+24
−87
apps/web/app/workspace/dashboard-list.tsx
+7
−7
apps/web/app/workspace/dashboard-row.tsx
+12
−4
apps/web/app/workspace/dashboard-tabs.tsx
+1
−1
apps/web/app/workspace/dashboard-toolbar.tsx
+1
−1
apps/web/app/workspace/detail-panel-chrome.tsx
+1
−1
apps/web/app/workspace/detail-panel-skeleton.tsx
+4
−11
apps/web/app/workspace/detail-panel.tsx
+14
−154
apps/web/app/workspace/error.tsx
+49
−0
apps/web/app/workspace/helpers.test.ts
+32
−0
apps/web/app/workspace/helpers.ts
+82
−4
apps/web/app/workspace/import-from-github-menu-item.tsx
+2
−2
apps/web/app/workspace/layout.tsx
+20
−89
apps/web/app/workspace/load-dashboard-lists.ts
+25
−32
apps/web/app/workspace/load-sidebar-repositories.ts
+24
−0
apps/web/app/workspace/page.tsx
+8
−18
apps/web/app/workspace/repo-picker-submenu.tsx
+5
−16
apps/web/app/workspace/repository-explorer.tsx
+264
−0
apps/web/app/workspace/repository-workbench-sidebar.tsx
+294
−0
apps/web/app/workspace/section-header.tsx
+1
−1
apps/web/app/workspace/warm-preview.ts
+5
−1
apps/web/components/account-settings/account-settings-modal.tsx
+46
−46
apps/web/components/app-shell.tsx
+31
−20
apps/web/components/app-site-chrome.tsx
+0
−267
apps/web/components/ci/check-status-indicator.tsx
+2
−2
apps/web/components/command-menu.tsx
+5
−30
apps/web/components/conversation/campfire-mention-timeline-card.tsx
+1
−1
apps/web/components/conversation/conversation-chrome.tsx
+1
−1
apps/web/components/conversation/conversation-quote-reply.tsx
+1
−1
apps/web/components/conversation/pr-autopilot-timeline.tsx
+1
−1
apps/web/components/conversation/timeline-primitives.tsx
+1
−1
apps/web/components/dev-floating-panel.tsx
+1
−1
apps/web/components/diffs/code-view-comments-list.tsx
+9
−6
apps/web/components/diffs/code-view-diff-stats.tsx
+2
−2
apps/web/components/diffs/code-view-header.tsx
+59
−36
apps/web/components/diffs/code-view-sidebar.tsx
+33
−13
apps/web/components/diffs/code-view-wrapper.tsx
+34
−13
apps/web/components/layout-preference-preview.tsx
+1
−1
apps/web/components/legal-page-shell.tsx
+15
−9
apps/web/components/legal/privacy-policy-content.tsx
+25
−17
apps/web/components/markdown/markdown-editor.tsx
+1
−1
apps/web/components/open-git-user-button.tsx
+44
−16
apps/web/components/organization-menu.tsx
+91
−53
apps/web/components/pixel-icon.tsx
+0
−26
apps/web/components/resource-query-filter-bar.tsx
+1
−1
apps/web/components/settings-nav.tsx
+1
−1
apps/web/components/sidebar-app-frame.tsx
+280
−0
apps/web/components/workbench-tabs/canonical-target.test.ts
+58
−0
apps/web/components/workbench-tabs/canonical-target.ts
+24
−58
apps/web/components/workbench-tabs/config.ts
+2
−5
apps/web/components/workbench-tabs/workbench-route-sync.tsx
+7
−16
apps/web/components/workbench-tabs/workbench-tab-bar.tsx
+250
−276
apps/web/components/workbench-tabs/workbench-tabs-provider.tsx
+26
−28
apps/web/db/dashboard.ts
+119
−43
apps/web/db/issues.ts
+3
−2
apps/web/db/pull-requests.ts
+4
−3
apps/web/db/repository-index.ts
+99
−22
apps/web/db/repository-permissions.ts
+25
−4
apps/web/db/user-profiles.ts
+11
−0
apps/web/lib/shared/cache.ts
+3
−0
apps/web/package.json
+0
−4
apps/web/public/icons/isocons-empty-dashboard.svg
+39
−0
package.json
+2
−1
packages/ui/DESIGN.md
+3
−1
packages/ui/NUCLEO-COPYRIGHT-NOTICE.html
+20
−0
packages/ui/package.json
+1
−2
packages/ui/src/components/accordion.tsx
+1
−1
packages/ui/src/components/alert-dialog.tsx
+1
−1
packages/ui/src/components/appearance-menu-section.tsx
+1
−1
packages/ui/src/components/autocomplete.tsx
+1
−1
packages/ui/src/components/badge.tsx
+14
−14
packages/ui/src/components/breadcrumb.tsx
+1
−1
packages/ui/src/components/button-variants.tsx
+9
−9
packages/ui/src/components/calendar.tsx
+1
−1
packages/ui/src/components/combobox.tsx
+1
−1
packages/ui/src/components/command-menu-context.tsx
+0
−37
packages/ui/src/components/command.tsx
+4
−4
packages/ui/src/components/copy-to-clipboard-button.tsx
+1
−1
packages/ui/src/components/dialog.tsx
+2
−2
packages/ui/src/components/drawer.tsx
+7
−7
packages/ui/src/components/gitty-sprite.tsx
+0
−441
packages/ui/src/components/menu.tsx
+1
−1
packages/ui/src/components/nested-panel.tsx
+6
−9
packages/ui/src/components/nucleo-icon-data.tsx
+1639
−0
packages/ui/src/components/nucleo-icons.css
+116
−0
packages/ui/src/components/nucleo-icons.tsx
+190
−0
packages/ui/src/components/number-field.tsx
+1
−1
packages/ui/src/components/pagination.tsx
+1
−1
packages/ui/src/components/pixel-icons.tsx
+0
−570
packages/ui/src/components/scroll-area.tsx
+2
−0
packages/ui/src/components/select.tsx
+1
−1
packages/ui/src/components/sheet.tsx
+2
−2
packages/ui/src/components/sidebar.tsx
+1
−1
packages/ui/src/components/slider.tsx
+15
−15
packages/ui/src/components/toast.tsx
+1
−1
packages/ui/src/components/user-avatar.tsx
+15
−9
packages/ui/src/lib/floating-card.ts
+2
−2
packages/ui/src/lib/gitty.ts
+2
−3
packages/ui/src/styles/globals.css
+293
−356
pnpm-lock.yaml
+2
−34
scripts/gen-pixel-icons.mjs
+0
−165
scripts/generate-nucleo-icons.mjs
+159
−0