Skip to content

chore: add comet-panel as git submodule#72

Open
sudashannon wants to merge 4 commits into
rpamis:masterfrom
sudashannon:feat/add-comet-panel-submodule
Open

chore: add comet-panel as git submodule#72
sudashannon wants to merge 4 commits into
rpamis:masterfrom
sudashannon:feat/add-comet-panel-submodule

Conversation

@sudashannon

@sudashannon sudashannon commented Jun 5, 2026

Copy link
Copy Markdown

Adds Comet Panel GUI dashboard as a git submodule.

https://github.com/sudashannon/comet-panel

Summary by CodeRabbit

  • Chores
    • Added and updated an internal subproject reference used by the build/infrastructure.
    • Updated the subproject pointer to a newer revision.

Note: This release contains internal infrastructure updates with no user-facing changes.

Adds the Comet Panel GUI tool as a git submodule for browsing
comet changes and AI-powered document analysis.

Comet Panel features:
- Three-column dashboard (changes / details / chat agent)
- AI chat agent via MiniMax API with SSE streaming
- @ mention file autocomplete for context selection
- Markdown + Mermaid rendering
- Multi-provider support with configurable settings

Repository: https://github.com/sudashannon/comet-panel

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request adds the comet-panel repository as a git submodule. There are no review comments, and I have no additional feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@benym

benym commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Thanks for the proposal, I think it's a great idea.
However, I pulled your project and found what appears to be a bug—see the screenshot.
image
I do have a few other concerns:

1: The project is written in Go, but not all Comet users have a Go environment set up, which makes running the project inconvenient for them. Additionally, the chat panel on the right seems unnecessary, given how capable current coding agents already are. Ideally, I think it should be written in TypeScript and distributed via npm. In practice, the local client could launch automatically when a user starts a specific project—similar to how Claude-Mem operates.

2: Cross-platform consistency; the project appears to have been developed solely on macOS without cross-platform verification. If this platform is to be adopted, I suggest integrating Windows, macOS, and Linux support into the CI pipeline, just as Comet does.

Overall, I think the platform concept is solid, though the functionality is currently quite basic and lacks production-grade validation. Implementing the core features with AI isn't particularly difficult. We can discuss this further once these issues are addressed.

@sudashannon

Copy link
Copy Markdown
Author

@benym Thanks for the thorough review!

Regarding the bug screenshot — I cannot access the private GitHub image URL. Could you describe what the bug looks like or share a public URL? We have been iterating rapidly and have fixed several issues since the PR was opened (blank page due to embed FS path issues, init() DOM query ordering, proxy port parameter handling). Likely that bug is already resolved in the latest commit at https://github.com/sudashannon/comet-panel.

Re: Go dependency — Fair point. We can distribute pre-built binaries via GitHub Releases (Linux/macOS/Windows) so users do not need a Go toolchain. A single static binary is downloaded and run. We will add this to the release pipeline. Regarding the chat panel: it is optional — the core dashboard works standalone without any API key configured.

Re: Cross-platform — The project is developed and tested on Linux (WSL/Ubuntu), not macOS. The only platform-specific code is the openBrowser() helper which handles both xdg-open and open. We can add CI (GitHub Actions) with go build + go test on ubuntu-latest, macos-latest, and windows-latest.

I will address the distribution and CI concerns in follow-up commits. Happy to iterate further!

@coderabbitai

coderabbitai Bot commented Jun 7, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 12943914-4296-4e38-8029-9fe330f65ff0

📥 Commits

Reviewing files that changed from the base of the PR and between ff73d74 and 17eead9.

📒 Files selected for processing (1)
  • comet-panel

📝 Walkthrough

Walkthrough

Adds a Git submodule for comet-panel: .gitmodules now registers comet-panel with its repository URL, and the submodule pointer is advanced to a specific commit.

Changes

Submodule Integration

Layer / File(s) Summary
Register comet-panel submodule
.gitmodules, comet-panel
.gitmodules registers the comet-panel submodule with path = comet-panel and url = https://github.com/sudashannon/comet-panel.git. The submodule pointer is advanced to commit 974b7cb3ebcf6a55d5fc8fd1f2ca06984f9e83b8.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped into git with a swirl and a spin,
A comet-panel entry to neatly tuck in.
One file updated, one pointer aligned,
A tiny new link for the repo to bind.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding comet-panel as a git submodule, which is confirmed by both the .gitmodules modification and submodule reference update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

sudashannon pushed a commit to sudashannon/comet-panel that referenced this pull request Jun 7, 2026
Bug reported in rpamis/comet#72: when all changes are archived (e.g.
plain OpenSpec projects without comet metadata), the default 'active'
filter showed '没有匹配的 change' even though the API returned data.
Default to 'all' so users see every change immediately.
@sudashannon

Copy link
Copy Markdown
Author

@benym I identified the bug from your screenshot — thanks for catching it!

Root cause: The API correctly returned all changes (visible in your DevTools panel), but the UI showed "没有匹配的 change". Your /Project/pulserhy/openspec project has all changes in the archive/ directory (all archived: true, with empty workflow/phase — i.e. plain OpenSpec changes without comet metadata). The default filter was set to active, which hides archived changes, so an archive-only project rendered empty.

Fix: Changed the default status filter from active to all, so every change shows immediately regardless of archive state. Committed and the submodule is updated.

This also handles your point that not every project is comet-managed — plain OpenSpec changes (no .comet.yaml) now display correctly with their archived status. Please pull again and let me know if it looks right.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
.gitmodules (1)

1-3: ⚡ Quick win

Consider adding a branch field for easier submodule tracking.

Without a branch field, the submodule will track a detached HEAD at a specific commit. Adding a branch reference allows contributors to easily update to the latest upstream changes using git submodule update --remote.

📌 Suggested enhancement
 [submodule "comet-panel"]
 	path = comet-panel
 	url = https://github.com/sudashannon/comet-panel.git
+	branch = master

Note: Verify whether the upstream repository uses master or main as the default branch.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.gitmodules around lines 1 - 3, The .gitmodules entry for submodule
"comet-panel" currently lacks a branch setting so Git will track a detached
HEAD; update the submodule configuration by adding a branch field (e.g., branch
= main or branch = master depending on upstream) to the submodule "comet-panel"
entry so contributors can run git submodule update --remote to pull the latest
upstream commits; modify the block containing submodule "comet-panel", path =
comet-panel, url = https://github.com/sudashannon/comet-panel.git to include the
correct branch name.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.gitmodules:
- Around line 2-3: The .gitmodules entry for path "comet-panel" points to the
external URL "https://github.com/sudashannon/comet-panel.git"; verify and
mitigate submodule governance risk by either (1) transferring or forking that
repository into the rpamis organization and updating the .gitmodules url to the
new org-hosted repo, (2) adding documentation in the repo (e.g., an OWNERS or
SECURITY.md and a note in README) that explains why the external submodule is
intentional and who maintains it, or (3) adding a maintenance/succession plan
describing ownership and fallback contacts; update the .gitmodules "url" value
and any CI/release config if you choose to move/fork, or add the documentation
files if you choose to retain the external dependency.

---

Nitpick comments:
In @.gitmodules:
- Around line 1-3: The .gitmodules entry for submodule "comet-panel" currently
lacks a branch setting so Git will track a detached HEAD; update the submodule
configuration by adding a branch field (e.g., branch = main or branch = master
depending on upstream) to the submodule "comet-panel" entry so contributors can
run git submodule update --remote to pull the latest upstream commits; modify
the block containing submodule "comet-panel", path = comet-panel, url =
https://github.com/sudashannon/comet-panel.git to include the correct branch
name.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: aac0d187-f0e7-48e8-90b5-be40dea1bd96

📥 Commits

Reviewing files that changed from the base of the PR and between af60378 and ff73d74.

📒 Files selected for processing (2)
  • .gitmodules
  • comet-panel

Comment thread .gitmodules
Comment on lines +2 to +3
path = comet-panel
url = https://github.com/sudashannon/comet-panel.git

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check if comet-panel exists under the rpamis organization

# Search for comet-panel repositories under rpamis org
gh repo list rpamis --limit 100 --json name,url | jq -r '.[] | select(.name | contains("panel")) | "\(.name): \(.url)"'

Repository: rpamis/comet

Length of output: 38


🏁 Script executed:

#!/bin/bash
# Check for comet-panel (and close variants) under rpamis org.

set -euo pipefail

echo "Searching rpamis org repositories for comet-panel..."
# List all repos up to 200 (increase if org has more)
repos_json="$(gh repo list rpamis --limit 200 --json name,url 2>/dev/null || true)"

if [[ -z "${repos_json}" ]]; then
  echo "Failed to fetch rpamis repo list via gh; cannot determine org alternative."
  exit 0
fi

matches="$(echo "$repos_json" | jq -r '
  map(select(.name == "comet-panel" or .name == "cometpanel" or .name == "panel" or (.name | test("comet.*panel"; "i")) or (.name | test("panel"; "i"))))
  | .[]
  | "\(.name): \(.url)"')"

if [[ -z "$matches" ]]; then
  echo "No matching comet-panel / panel alternatives found in first 200 rpamis repos."
else
  echo "Matches found:"
  echo "$matches"
fi

Repository: rpamis/comet

Length of output: 187


Verify/mitigate submodule governance risk for sudashannon/comet-panel

.gitmodules points comet-panel to https://github.com/sudashannon/comet-panel.git (personal account). No obvious rpamis org alternative (e.g., comet-panel/panel-named repos) was found, so if this is relied on by the release/CI pipeline, consider one of:

  • move the repo (or a fork) under the rpamis org for clearer ownership/access control
  • document why it’s intentionally external
  • document a maintenance/succession plan if the current maintainer becomes unavailable
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.gitmodules around lines 2 - 3, The .gitmodules entry for path "comet-panel"
points to the external URL "https://github.com/sudashannon/comet-panel.git";
verify and mitigate submodule governance risk by either (1) transferring or
forking that repository into the rpamis organization and updating the
.gitmodules url to the new org-hosted repo, (2) adding documentation in the repo
(e.g., an OWNERS or SECURITY.md and a note in README) that explains why the
external submodule is intentional and who maintains it, or (3) adding a
maintenance/succession plan describing ownership and fallback contacts; update
the .gitmodules "url" value and any CI/release config if you choose to
move/fork, or add the documentation files if you choose to retain the external
dependency.

@benym

benym commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

I'll try it out later, but you mentioned distributing pre-compiled binaries, is that what I understand as a cross-platform package based on Electron or Tarui?

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