Skip to content

[codex] Add IDE session tracking - #9

Closed
defidevrel wants to merge 1 commit into
iamnotstatic:mainfrom
defidevrel:codex/ide-session-tracking
Closed

[codex] Add IDE session tracking#9
defidevrel wants to merge 1 commit into
iamnotstatic:mainfrom
defidevrel:codex/ide-session-tracking

Conversation

@defidevrel

Copy link
Copy Markdown

Summary

Adds manual IDE session tracking for GUI-first tools like Cursor.

  • adds vibe ide start [tool], vibe ide stop [tool], and vibe ide status
  • stores IDE session project metadata so stop/status can calculate commits, lines, files, duration, and momentum using the existing git scoring model
  • refreshes active IDE sessions before status, log, and share so stats show up alongside wrapped CLI sessions
  • documents the Cursor flow and adds IDE/Cursor package keywords

Impact

Users can now track Cursor or another IDE without needing a shell wrapper around a long-running CLI process. Completed IDE sessions are normal Vibetime sessions, so they appear in local stats, share cards, and the opt-in leaderboard.

Validation

  • npm run build
  • smoke-tested vibe ide start cursor, vibe ide status, and vibe ide stop cursor in a temporary HOME and temporary git repo

@defidevrel
defidevrel marked this pull request as ready for review May 12, 2026 13:41
@iamnotstatic
iamnotstatic self-requested a review July 28, 2026 00:13
@iamnotstatic

Copy link
Copy Markdown
Owner

Thanks for taking the time to build this, and apologies for the slow review. The code is clean and the branch builds, but I don't think manual start/stop sessions can feed the leaderboard in their current form, and that's most of the PR's value proposition, so I want to be upfront about it rather than nitpick details.

The problem is duration. Everything rests on the rule that idle gaps over 30 minutes don't count. IDE sessions here are pure wall clock and exempt from reapOrphanedSessions, so a forgotten vibe ide start runs forever. I tested it: leave a session 72 hours, make one trivial commit, vibe ide stop. Result is a 72-hour "progressed" session, submitted to the leaderboard. No bad intent needed, just forgetting to run stop.

Fixing that means idle detection for a session no process is watching, which is a daemon. Too big to hang off this PR. And #14 has since taken the direction I want for GUI tools: the tool's own session hooks.

If you want to rework it, local-only is mergeable: IDE sessions show in vibe status / log / share but never submit. A revision would also need the renderIdeStatus strings moved into render.ts and snapshot() shared with wrap.ts instead of duplicated.

Thanks for the work. The use case is real, it just can't come in on the honor system.

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