Skip to content

Add Streamlit sample dashboard and portable quickstart path - #73

Merged
DecisionNerd merged 2 commits into
mainfrom
feature/sample-streamlit-dashboard
Aug 4, 2026
Merged

DecisionNerd merged 2 commits into
mainfrom
feature/sample-streamlit-dashboard

Conversation

@DecisionNerd

@DecisionNerd DecisionNerd commented Aug 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add GraphForge: Open Sample Streamlit App and an air-routes Streamlit dashboard under apps/, with Get Started / docs wiring.
  • Materialize the quickstart sample under ~/Downloads so notebooks and apps are discoverable outside the IDE.
  • Steer the sample notebook toward portable CSV/HTML outputs and add proto-personas / key-journey docs.

Test plan

  • npm run test:unit (241 passing locally)
  • CI check / compile / unit / EDH / package jobs pass
  • Open air-routes sample → Open Streamlit app opens apps/air_routes_dashboard.py
  • Quickstart materializes under Downloads rather than workspace/tmp storage

Made with Cursor


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

Note

Add Streamlit sample dashboard and graphforge.openSampleStreamlit command to the quickstart

  • Adds apps/air_routes_dashboard.py, a Streamlit app that reads the sample CSVs, runs PageRank via GraphForge, and renders an interactive Plotly bar chart with region filtering and CSV export.
  • Registers a new graphforge.openSampleStreamlit VS Code command that opens the dashboard source and returns { path, projectPath, relativePath, command } where command is a ready-to-run uv run … streamlit run string.
  • Updates the notebook (air-routes-analysis.ipynb) to write portable CSV and self-contained HTML under notebooks/outputs/ instead of the extension's results/ and visualizations/ directories.
  • Changes resolveQuickstartPath to default to ~/Downloads/graphforge-quickstart instead of workspace or extension storage directories.
  • Extends AgentArtifactIndex, ProjectArtifactIndex, and the Get Started checklist to surface the new apps/ directory alongside notebooks.
  • Behavioral Change: the default quickstart project location moves to ~/Downloads/graphforge-quickstart; existing projects in workspace or storage paths will no longer be found by default.

Macroscope summarized a7a0140.

Summary by CodeRabbit

  • New Features

    • Added a Streamlit dashboard for interactive air-route PageRank analysis, filtering, visualization, and CSV export.
    • Added an “Open Streamlit app” action to the onboarding experience and command palette.
    • Quickstart projects now include notebook and Streamlit analysis paths with a default download location.
    • Notebook results now export portable CSV and HTML files.
  • Documentation

    • Updated guides, architecture, requirements, and published command references for the new Python workflows.
    • Added human-journey and proto-persona strategy documentation.
  • Tests

    • Expanded coverage for Streamlit discovery, launching, project artifacts, onboarding, and portable outputs.

DecisionNerd and others added 2 commits August 4, 2026 08:52
Materialize the sample under Downloads, ship a browser dashboard beside the notebook, and document personas/journeys so Python analysis is not tied to VS Code result panels.

Co-authored-by: Cursor <cursoragent@cursor.com>
EDH agent.getContext asserts discovery includes the new Streamlit sample command.

Co-authored-by: Cursor <cursoragent@cursor.com>
@blacksmith-sh

This comment has been minimized.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026 •

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 91fbe113-dabb-4b54-92c4-03a64e711350

📥 Commits

Reviewing files that changed from the base of the PR and between 6fc9d2e and a7a0140.

📒 Files selected for processing (35)
  • README.md
  • docs/DESIGN.md
  • docs/REQUIREMENTS.md
  • docs/engineering/ARCHITECTURE.md
  • docs/engineering/TESTING.md
  • docs/experience/README.md
  • docs/experience/agent-interop.md
  • docs/experience/discovery-feeling.md
  • docs/experience/key-journeys.md
  • docs/published/agent-interop.md
  • docs/published/commands.md
  • docs/published/install.md
  • docs/published/overview.md
  • docs/strategy/README.md
  • docs/strategy/personas.md
  • media/samples/air-routes/project/AGENTS.md
  • media/samples/air-routes/project/apps/README.md
  • media/samples/air-routes/project/apps/air_routes_dashboard.py
  • media/samples/air-routes/project/notebooks/air-routes-analysis.ipynb
  • package.json
  • src/commands/agent.ts
  • src/commands/openSampleProject.ts
  • src/session/agentContext.ts
  • src/session/projectArtifacts.ts
  • src/session/quickstartSample.ts
  • src/test/agentContext.test.ts
  • src/test/extension.test.ts
  • src/test/getStartedContent.test.ts
  • src/test/paletteTitles.test.ts
  • src/test/projectArtifacts.test.ts
  • src/test/quickstart.e2e.test.ts
  • src/test/quickstartSample.test.ts
  • src/views/getStartedContent.ts
  • src/views/getStartedView.ts
  • webview-ui/src/getStarted/main.js

📝 Walkthrough

Walkthrough

The quickstart now materializes a Streamlit dashboard beside the notebook. The extension discovers Python apps, exposes Streamlit commands, and adds a Get Started action. Notebook outputs now use portable CSV and HTML files. Documentation adds personas and human journey maps.

Changes

Quickstart Python workflows

Layer / File(s) Summary
Experience and strategy framing
docs/experience/*, docs/strategy/*, docs/DESIGN.md, docs/REQUIREMENTS.md
Adds proto-personas, human journey maps, discovery references, and requirements for parallel notebook and Streamlit paths.
Portable notebook and dashboard analysis
README.md, docs/engineering/*, docs/published/install.md, docs/published/overview.md, media/samples/air-routes/project/...
Adds the Streamlit air-routes dashboard and changes notebook exports to portable CSV and self-contained HTML files.
App artifacts and sample commands
src/session/*, src/commands/*, package.json, docs/experience/agent-interop.md, docs/published/{agent-interop,commands}.md, src/test/*
Discovers Python apps, changes the default quickstart path, adds Streamlit command contracts, and validates artifact discovery and command results.
Get Started Streamlit action
src/views/*, webview-ui/src/getStarted/main.js, src/test/getStartedContent.test.ts
Adds conditional Streamlit actions to the Get Started model and webview for sample projects with the dashboard artifact.

Estimated code review effort: 3 (Moderate) | ~30 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Analyst
  participant GetStarted
  participant openSampleStreamlit
  participant QuickstartProject
  participant Streamlit
  Analyst->>GetStarted: select Open Streamlit app
  GetStarted->>openSampleStreamlit: invoke command
  openSampleStreamlit->>QuickstartProject: resolve and validate sample project
  openSampleStreamlit->>Streamlit: open air_routes_dashboard.py and return launch command
  Streamlit->>QuickstartProject: read copied CSV data
  Streamlit->>Analyst: display PageRank dashboard
Loading

Poem

I’m a rabbit with a dashboard to share,
CSV carrots and PageRank in the air.
A notebook hops beside the stream,
HTML charts sparkle and gleam.
Click the app, then browse with care—
Portable results grow everywhere!

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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

@DecisionNerd
DecisionNerd merged commit 398c4ec into main Aug 4, 2026
5 of 6 checks passed
@DecisionNerd
DecisionNerd deleted the feature/sample-streamlit-dashboard branch August 4, 2026 15:00
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.

1 participant