Skip to content

Ensure Spec-Kitty dashboard is correctly launched each time#8680

Open
polmichel wants to merge 1 commit intodevelopfrom
pmi-20260323-enhanced-speckitty-dashboard
Open

Ensure Spec-Kitty dashboard is correctly launched each time#8680
polmichel wants to merge 1 commit intodevelopfrom
pmi-20260323-enhanced-speckitty-dashboard

Conversation

@polmichel
Copy link
Copy Markdown
Contributor

@polmichel polmichel commented Mar 23, 2026

Summary by CodeRabbit

Release Notes

  • Documentation
    • Improved dashboard startup procedure to automatically terminate any existing instances before launching a fresh session, enhancing reliability.
    • Updated terminal output messaging to provide context-aware guidance based on work package state.
    • Refined workflow recommendations with explicit handling for scenarios where no work packages have been generated yet.
  • Restructured the dashboard command to always kill existing instances and launch the browser dashboard first, before displaying terminal output
  • Made the dashboard launch unconditional (handles empty/missing work packages gracefully) instead of being an optional step
  • Added guidance for when no work packages exist yet

Test plan

  • Run /kitty-spec.dashboard with existing work packages — dashboard should launch and terminal summary should display
  • Run /kitty-spec.dashboard with no work packages — dashboard should still launch, terminal should note no WPs exist
  • Run /kitty-spec.dashboard when a dashboard is already running — old instance should be killed before launching new one

🤖 Generated with Claude Code

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 23, 2026

Walkthrough

The changes update the dashboard specification documentation. Previously, the workflow validated work-package directory existence before conditionally launching the browser dashboard. The new workflow unconditionally kills existing dashboard instances and immediately starts a fresh one. The startup procedure now uses python .../dashboard.py --kill (with stderr suppressed) followed by a background execution of nohup python .../dashboard/server.py --feature <branch-name>. Terminal output and next-actions guidance were modified to account for scenarios where no work packages exist, with state-specific suggestions retained for planned, under-review, and completed states.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: ensuring the dashboard is correctly launched each time, which is exactly what the changeset accomplishes.
Description check ✅ Passed The description covers key sections including summary of changes, test plan with specific scenarios, and notes the tool used; however, it lacks detail in some template sections like behavioral impact, backward compatibility, and deployment notes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@polmichel polmichel requested a review from a team March 23, 2026 20:26
@polmichel polmichel marked this pull request as ready for review March 23, 2026 20:27
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
dev/commands/kitty-spec.dashboard.md (1)

33-34: Consider consistency in script invocation and potential startup failure handling.

Two observations:

  1. Inconsistency: Line 33 invokes dashboard.py --kill while line 34 calls server.py directly. Line 20 also uses dashboard.py for consistency. While both approaches work (dashboard.py is a thin wrapper forwarding to server.py), using dashboard.py consistently would improve maintainability.

  2. Error suppression risk: Line 33 suppresses stderr with 2>/dev/null. If the kill operation fails and a dashboard instance remains running, the new dashboard on line 34 may fail to start due to a port conflict (default port 5050). Consider whether startup failures should be surfaced to the user or if the documentation should note this edge case.

♻️ Proposed change for consistency
-   python dev/spec-kitty/kittify/scripts/dashboard.py --kill 2>/dev/null
-   nohup python dev/spec-kitty/kittify/scripts/dashboard/server.py --feature <branch-name> > /dev/null 2>&1 &
+   python dev/spec-kitty/kittify/scripts/dashboard.py --kill 2>/dev/null
+   nohup python dev/spec-kitty/kittify/scripts/dashboard.py --feature <branch-name> > /dev/null 2>&1 &
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@dev/commands/kitty-spec.dashboard.md` around lines 33 - 34, Use dashboard.py
consistently (replace the direct server.py invocation with the dashboard.py
wrapper) and remove or limit blind stderr suppression so startup errors are
visible; specifically, change the nohup invocation that currently runs server.py
to call dev/spec-kitty/kittify/scripts/dashboard.py --feature <branch-name> and
avoid redirecting stderr to /dev/null (or add a note about port 5050 conflicts)
so failures like port-in-use from an unsuccessful --kill are surfaced to the
user.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@dev/commands/kitty-spec.dashboard.md`:
- Around line 33-34: Use dashboard.py consistently (replace the direct server.py
invocation with the dashboard.py wrapper) and remove or limit blind stderr
suppression so startup errors are visible; specifically, change the nohup
invocation that currently runs server.py to call
dev/spec-kitty/kittify/scripts/dashboard.py --feature <branch-name> and avoid
redirecting stderr to /dev/null (or add a note about port 5050 conflicts) so
failures like port-in-use from an unsuccessful --kill are surfaced to the user.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3df5070a-8d17-4c09-930d-6320a62aca61

📥 Commits

Reviewing files that changed from the base of the PR and between 7383297 and e6664ae.

📒 Files selected for processing (1)
  • dev/commands/kitty-spec.dashboard.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants