Project dashboard: pick back up, needs-you, and team pulse
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Active
- Tech stack
- typescript
- Domain
- full-stack
Research direction
Start with the tracking issue #6 and the linked TODO.md 'Port from old Ace' entry in githubnext/ace2@21ac3df, since this issue itself only names the three features (dashboard briefing, resume work, team pulse) without saying where or how. Then locate the existing dashboard/UI entry points in this TypeScript repo to see what surfaces they would extend. Done means a design or scope decision is recorded on the issue before code is written — treat this as an umbrella, not a first patch.
Written by the indexing model from the issue text.
Description
Give the project dashboard a briefing, a list of work to pick back up, and a team pulse, built from data Ace now has. Old Ace had all three (clients/app/src/features/dashboard in githubnext/1111); the dashboard here (apps/app/src/dashboard.tsx) is only a composer for starting a channel.
What old Ace did
-
Pick back up: up to 10 ranked rows of PRs and issues for the viewer:
- PRs and issues that already have a channel and are relevant to the viewer;
- the viewer's draft PRs;
- the viewer's PRs;
- PRs waiting on the viewer's review;
- issues assigned to the viewer.
Each row says Continue (open the existing channel) or Start new (open a channel on it). PRs from forks with no channel were skipped.
-
Briefing: a short model-written summary for the time of day of the viewer's recent channels, PRs and issues (8 of each), with inline links to each item.
-
Team pulse: one model-written line per teammate for a recent activity window, with avatars. When the model failed, it fell back to deterministic summaries.
Data available now
| Need | Source |
|---|---|
Channels per project, with owner, name, summary, latest run outcome (ran), active, busy, archived and hosted |
Host listings (apps/host/src/protocol.ts Listing), for teammates too, through peers and the directory |
| Who's here and away, live | Project lobbies (#17) |
| Created, archived, renamed, moved, summarized and ran, pushed live | Lobby lifecycle events (#337) |
| Finished, failed and waiting runs | apps/app/src/attention.ts, run outcomes |
| A lane's PR and its checks | Details PR lookup (apps/host/src/github.ts pull), checks |
| Issues and PRs for the repository | The Issues and PRs views (apps/app/src/github.tsx), using the owner's gh |
| The issue or PR a channel was opened for | Open in a channel (#109, #28) |
Scope
- Pick back up: (#471; issues don't link to their channel yet, since nothing records which item a channel was opened for) old Ace's ranking over the project's channels, PRs and issues. Rows link to the channel already on the item, including teammates' (this is also #28's "show who's on it"), or offer Open in a channel.
- Needs you: (#471) channels whose last run failed or is waiting on the viewer, and PRs waiting on the viewer's review.
- Team pulse: (deterministic version in #471; the optional model summary is still open) per teammate, who's here (lobby), their active channels with summaries, and what finished since the viewer was last here. Start deterministic, from listings and lifecycle events. A model summary is optional and must fall back to the deterministic version.
- Briefing (optional, later): a short model-written paragraph over the same inputs, with linked references.
Constraints:
- GitHub reads use the local owner's
gh(protocol.ts), never a peer's account. - Nothing new is stored durably; this is derived from listings, lobbies and GitHub.
Tracked by #6. Related: #12, #28, #17.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from githubnext/ace2
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
githubnext/ace2#459 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
githubnext/ace2#437 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
githubnext/ace2#442 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 40/100
githubnext/ace2#440 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
githubnext/ace2#430 ·
Similar issues
-
area:security documentation effort:S priority:P2
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
app:web meta:ops
Difficulty 2/5 Half a day Newbie friendliness 78/100
osu-tournament-rating/otr#1113 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
typegoose/mongodb-memory-server#1040 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 92/100