Home

madison / open-git

public
Overview Code History Branches Pull requestsIssuesInsights Campfire Docs
main
HomeOverview Code PRsIssues

feat(web): home center dashboard, IDE workbench, faster settings/modals

2 months ago

fafc5ce
Authored
V.C. Billingsley7/19/2026, 3:06:40 AM
Home
- Add home center with Your work / Activity tabs, nudges, notifications
  bell, and an Autopilot activity strip
- Remove the home leaderboard (panel, component, data layer)

Repository workbench
- IDE-style activity rail with a sliding active-tool indicator and a
  "Code" entry back to the overview
- Workbench tab bar: restore the Home tab and add a sliding tab highlight

Modals & navigation
- Open account-settings, new-repository, and GitHub-import modals via
  client-side history (no RSC round trip) so they appear instantly
- Redesign the new-repository modal (nested-panel + Close/Import/Create
  action bar) from the Paper design

Foundations & polish
- Empty-state system with Isocons illustrations
- Waitlist landing overhaul
- Assorted UI polish across pulls, issues, campfire, onboarding, and
  workspace dashboards; shared UI component updates

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Parentbf454bf

156 files changed
  • .agents/skills/animation-vocabulary/SKILL.md+173−0
  • .agents/skills/apple-design/SKILL.md+282−0
  • .agents/skills/emil-design-eng/SKILL.md+679−0
  • .agents/skills/find-animation-opportunities/SKILL.md+132−0
  • .agents/skills/improve-animations/AUDIT.md+116−0
  • .agents/skills/improve-animations/PLAN-TEMPLATE.md+73−0
  • .agents/skills/improve-animations/SKILL.md+101−0
.agents/skills/review-animations/SKILL.md
+112
−0
  • .agents/skills/review-animations/STANDARDS.md+188−0
  • apps/playground/lib/component-examples/app-shell.tsx+13−13
  • apps/playground/lib/component-examples/avatar.tsx+16−14
  • apps/web/app/(home)/activity-feed-skeleton.tsx+9−8
  • apps/web/app/(home)/activity-feed.tsx+31−11
  • apps/web/app/(home)/activity-row.tsx+8−5
  • apps/web/app/(home)/autopilot-strip.tsx+114−0
  • apps/web/app/(home)/feed-sidebar.tsx+36−59
  • apps/web/app/(home)/home-center-tabs.tsx+41−0
  • apps/web/app/(home)/home-center.tsx+59−0
  • apps/web/app/(home)/home-notifications-bell.tsx+106−0
  • apps/web/app/(home)/home-notifications.tsx+18−0
  • apps/web/app/(home)/home-nudges-client.tsx+145−0
  • apps/web/app/(home)/home-right-rail.tsx+0−4
  • apps/web/app/(home)/layout.tsx+7−1
  • apps/web/app/(home)/leaderboard-panel.tsx+0−21
  • apps/web/app/(home)/leaderboard.tsx+0−124
  • apps/web/app/(home)/page.tsx+21−12
  • apps/web/app/(home)/trending-repos.tsx+17−2
  • apps/web/app/(home)/your-work-panel.tsx+182−0
  • apps/web/app/[username]/[repository]/branches/page.tsx+7−3
  • apps/web/app/[username]/[repository]/campfire/campfire-room.tsx+9−29
  • apps/web/app/[username]/[repository]/campfire/campfire-thread-ref-card.tsx+7−26
  • apps/web/app/[username]/[repository]/campfire/page.tsx+7−19
  • apps/web/app/[username]/[repository]/docs/docs-page.tsx+7−7
  • apps/web/app/[username]/[repository]/fork/fork-repository-form.tsx+1−6
  • apps/web/app/[username]/[repository]/insights/page.tsx+75−52
  • apps/web/app/[username]/[repository]/issues/[number]/issue-linked-pull-requests.tsx+7−3
  • apps/web/app/[username]/[repository]/issues/page.tsx+38−22
  • apps/web/app/[username]/[repository]/pulls/[number]/autopilot/autopilot-run-client.tsx+11−13
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-detail.tsx+8−3
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-files-body.tsx+12−1
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-sidebar-section.tsx+36−0
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-sidebar.tsx+19−33
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-stack-panel.tsx+13−6
  • apps/web/app/[username]/[repository]/pulls/[number]/sidebar-checks.tsx+12−10
  • apps/web/app/[username]/[repository]/pulls/page.tsx+49−17
  • apps/web/app/[username]/[repository]/repository-contributors.tsx+18−17
  • apps/web/app/[username]/[repository]/repository-home.tsx+24−7
  • apps/web/app/[username]/[repository]/settings/repository-settings-forms.tsx+7−9
  • apps/web/app/[username]/page.tsx+33−26
  • apps/web/app/[username]/settings/members/page.tsx+7−9
  • apps/web/app/[username]/settings/repositories/page.tsx+9−9
  • apps/web/app/ci/runs/[runId]/jobs/[jobId]/page.tsx+17−7
  • apps/web/app/ci/runs/[runId]/jobs/[jobId]/workflow-job-log-viewer.tsx+14−3
  • apps/web/app/home/page.tsx+8−28
  • apps/web/app/landing/landing-shaders.tsx+116−0
  • apps/web/app/landing/page.tsx+729−0
  • apps/web/app/layout.tsx+12−0
  • apps/web/app/onboarding/actions.ts+1−0
  • apps/web/app/onboarding/onboarding-experience.tsx+15−8
  • apps/web/app/onboarding/onboarding-identity-preview.tsx+7−1
  • apps/web/app/onboarding/page.tsx+3−1
  • apps/web/app/repositories/import/github/github-import-form.tsx+9−2
  • apps/web/app/repositories/new/actions.ts+21−4
  • apps/web/app/repositories/new/create-repository-form.tsx+38−0
  • apps/web/app/settings/account/account-settings-sections/profile.tsx+8−13
  • apps/web/app/settings/account/account-settings-sections/sessions.tsx+10−3
  • apps/web/app/settings/developer/page.tsx+8−4
  • apps/web/app/waitlist/page.tsx+2−37
  • apps/web/app/waitlist/waitlist-join-flow.tsx+51−23
  • apps/web/app/waitlist/waitlist-landing.tsx+582−97
  • apps/web/app/waitlist/waitlist-page-content.tsx+48−0
  • apps/web/app/waitlist/waitlist-sign-out-button.tsx+3−1
  • apps/web/app/workspace/dashboard-detail.tsx+2−11
  • apps/web/app/workspace/dashboard-list.tsx+1−0
  • apps/web/app/workspace/dashboard-row.tsx+6−1
  • apps/web/app/workspace/helpers.ts+1−0
  • apps/web/app/workspace/layout.tsx+1−1
  • apps/web/app/workspace/repository-explorer.tsx+198−51
  • apps/web/app/workspace/repository-workbench-sidebar.tsx+125−7
  • apps/web/components/account-settings/account-settings-modal.tsx+22−32
  • apps/web/components/account-settings/git-tokens-section.tsx+7−3
  • apps/web/components/app-shell.tsx+18−4
  • apps/web/components/command-menu.tsx+7−4
  • apps/web/components/conversation/comment-composer-shared.tsx+25−15
  • apps/web/components/conversation/reply-content.tsx+12−17
  • apps/web/components/conversation/timeline-primitives.tsx+3−12
  • apps/web/components/diffs/code-view-comments-list.tsx+10−3
  • apps/web/components/empty-state.tsx+89−0
  • apps/web/components/github-import-modal.tsx+2−7
  • apps/web/components/iso-illustration.tsx+62−0
  • apps/web/components/mobile-tab-bar.tsx+253−0
  • apps/web/components/new-repository-modal.tsx+327−0
  • apps/web/components/open-git-user-button.tsx+12−31
  • apps/web/components/organization-menu.tsx+8−21
  • apps/web/components/resource-list-row.tsx+7−1
  • apps/web/components/resource-query-filter-bar.tsx+2−2
  • apps/web/components/sidebar-app-frame.tsx+129−79
  • apps/web/components/workbench-tabs/workbench-tab-bar.tsx+188−19
  • apps/web/db/activity.ts+59−13
  • apps/web/db/dashboard.ts+6−0
  • apps/web/db/home-autopilot-logic.test.ts+53−0
  • apps/web/db/home-autopilot-logic.ts+48−0
  • apps/web/db/home-autopilot.ts+145−0
  • apps/web/db/home-leaderboard.ts+0−243
  • apps/web/db/home-nudges-logic.test.ts+90−0
  • apps/web/db/home-nudges-logic.ts+54−0
  • apps/web/db/home-nudges.ts+173−0
  • apps/web/db/home-your-work-logic.test.ts+250−0
  • apps/web/db/home-your-work-logic.ts+154−0
  • apps/web/db/home-your-work.ts+330−0
  • apps/web/db/issues.ts+45−24
  • apps/web/db/pull-requests.ts+34−13
  • apps/web/lib/account-settings-url.ts+25−0
  • apps/web/lib/shared/relative-time.ts+6−4
  • apps/web/next-env.d.ts+1−1
  • apps/web/package.json+1−0
  • apps/web/public/icons/ATTRIBUTION.md+38−0
  • apps/web/public/icons/isocons-access.svg+1−0
  • apps/web/public/icons/isocons-activity.svg+1−0
  • apps/web/public/icons/isocons-artifacts.svg+1−0
  • apps/web/public/icons/isocons-automation.svg+1−0
  • apps/web/public/icons/isocons-branches.svg+1−0
  • apps/web/public/icons/isocons-channels.svg+1−0
  • apps/web/public/icons/isocons-checks.svg+1−0
  • apps/web/public/icons/isocons-docs.svg+1−0
  • apps/web/public/icons/isocons-empty-dashboard.svg+1−39
  • apps/web/public/icons/isocons-files.svg+1−0
  • apps/web/public/icons/isocons-import.svg+1−0
  • apps/web/public/icons/isocons-issues.svg+1−0
  • apps/web/public/icons/isocons-languages.svg+1−0
  • apps/web/public/icons/isocons-leaderboard.svg+1−0
  • apps/web/public/icons/isocons-linked.svg+1−0
  • apps/web/public/icons/isocons-logs.svg+1−0
  • apps/web/public/icons/isocons-members.svg+1−0
  • apps/web/public/icons/isocons-messages.svg+1−0
  • apps/web/public/icons/isocons-pull-requests.svg+1−0
  • apps/web/public/icons/isocons-readme.svg+1−0
  • apps/web/public/icons/isocons-repositories.svg+1−0
  • apps/web/public/icons/isocons-sessions.svg+1−0
  • apps/web/public/icons/isocons-steps.svg+1−0
  • apps/web/public/icons/isocons-tokens.svg+1−0
  • apps/web/public/icons/isocons-trending.svg+1−0
  • apps/web/public/landing-crt.webp——
  • packages/ui/package.json+2−1
  • packages/ui/src/components/alert-dialog.tsx+33−33
  • packages/ui/src/components/app-shell.tsx+3−1
  • packages/ui/src/components/blob-avatar.tsx+5−36
  • packages/ui/src/components/dialog.tsx+8−6
  • packages/ui/src/components/menu.tsx+2−2
  • packages/ui/src/components/nested-panel.tsx+5−5
  • packages/ui/src/components/select.tsx+2−2
  • packages/ui/src/components/tabs.tsx+21−19
  • packages/ui/src/components/user-avatar.tsx+39−15
  • packages/ui/src/styles/globals.css+21−7
  • pnpm-lock.yaml+36−0
  • skills-lock.json+36−0