Files
sencho/.gitignore
T
Anso 370b67d7ec feat(sidebar): cockpit redesign with grouped stacks and activity footer (#702)
* chore: ignore .superpowers/ brainstorm scratch dir

* feat(sidebar): add useStackMenuItems hook with grouped menu model

Pure transform hook that converts StackMenuCtx into four ordered MenuGroup
arrays (inspect, organize, lifecycle, destructive). Shared type contract in
sidebar-types.ts gives both the ContextMenu and DropdownMenu a single source
of truth so they cannot drift. Covered by 8 unit tests.

* refactor(sidebar): stabilize useStackMenuItems memoization deps

Destructure menuVisibility flags into primitive deps so inline object
literals from callers do not defeat memoization. Add a test confirming
isBusy disables all lifecycle items.

* feat(sidebar): add usePinnedStacks hook with per-node localStorage

* refactor(sidebar): stabilize usePinnedStacks eviction signal and isPinned dep

Change evictedOldest shape to { file, seq } so consumer effects re-fire on
repeated evictions. Narrow isPinned's useCallback dep to the current node's
pinned list so it only rebinds on local changes. Add test for eviction
side-effect and a second test for the seq counter.

* feat(sidebar): add useSidebarGroupCollapse hook with per-node keys

* refactor(sidebar): tighten useSidebarGroupCollapse effect ordering

Collapse the two write/read effects into a single skip-next-write ref
pattern so switching nodes no longer writes the previous node's map under
the new key before hydration. Also skip the no-op mount write. Add test
for setCollapsed.

* feat(sidebar): add row + group-header style helpers

* feat(sidebar): add SidebarBrand with mono kicker + serif hero

* feat(sidebar): add SidebarActions wrapper for create + scan

* feat(sidebar): extract SidebarSearch with kbd pill

* feat(sidebar): add StackRow with cyan-rail active state

* refactor(sidebar): dedupe tooltip markup in StackRow, widen test coverage

Extract a local RowTooltip helper so the update and git-pending branches
share the CursorProvider scaffolding. Add four behavioral tests covering
click, keyboard activation, kebab stop-propagation, and the busy loader
branch.

* feat(sidebar): unify context + kebab menus via useStackMenuItems

* feat(sidebar): add StackGroup with collapse and pinned variant

* feat(sidebar): add StackList with pinned + label groups

* feat(sidebar): add SidebarActivityTicker with idle fallback

* feat(sidebar): add StackSidebar container composing the regions

* feat(sidebar): replace sidebar block with StackSidebar composition

* docs(sidebar): add stack sidebar feature page with screenshots

* fix(sidebar): satisfy react-hooks purity and memoization rules

* fix(sidebar): restore "Sencho Logo" alt text for E2E selector
2026-04-19 21:45:01 -04:00

71 lines
910 B
Plaintext

# Dependencies
node_modules/
# Environment Variables (CRITICAL: Never commit secrets)
.env
.env.*
!.env.example
# Build Outputs
dist/
*.tsbuildinfo
# Sencho User Data & Mocks
data/
mock_data/
docker/
sencho.json
# OS Generated Files
.DS_Store
Thumbs.db
Desktop.ini
ehthumbs.db
# IDE / Editors
.vscode/
.idea/
*.swp
*.swo
*~
*.sublime-project
*.sublime-workspace
# Testing
test-results/
e2e/report/
html-report/
.coverage/
coverage/
# Logs
*.log
npm-debug.log*
# Claude Code
.claude/
plans/
CLAUDE.md
MANUAL_STEPS.md
docs/superpowers/
.worktrees/
.superpowers/
# Design system (local-only; authoritative reference for agents + user)
frontend/DESIGN.md
.design-bundle/
# Playwright MCP
.playwright-mcp/
# Frontend build output (served by backend)
backend/public/
# Auto-generated files
backend/cookies.txt
backend/src/generated/version.ts
# Local-only projects (separate repos)
demo-video/
website/