Feature Comparisons
Source: JoinGrove product model
Generated: 01/09/2026
Key Concepts
Comparison tables help users pick the right path: Studio vs Classic, cloud vs offline AI, egress on vs off, and campus vs local dev.
API / Reference
Studio vs Classic
| Studio | Classic | |
|---|---|---|
| Job | Idea → template → agent → preview → publish | Full IDE for an existing repo |
| Default UI | Agents window + Studio home / wizard | VS Code workbench |
| Launch | Default (npm run dev) |
--classic or joingrove.openClassic |
| Best for | Founders, campus cohorts, new projects | Professional devs with existing repos |
| Preview | In-workbench shell (joingrove.openStudioShell) |
Terminal + integrated debug |
| Commands | joingrove.studioWizard, joingrove.studioBuildFromPrompt |
joingrove.openClassic |
Cloud vs Offline (Ollama)
| Cloud (Platform) | Offline (Ollama) | |
|---|---|---|
| AI | Cloud models when signed in | Local models via Ollama BYOK |
| Projects | joingrove.createCloudProject |
joingrove.createStackProject (local folder) |
| Preview / publish | joingrove.studioPreview, joingrove.studioPublish |
Local dev server + self-hosted publish |
| Network | Needs platform allow (joingrove.offline.allowPlatformRequests) |
Loopback + Ollama endpoint only |
| Cost | Team/Campus tiers | Free (Individual) + hardware |
Zero egress: on vs off
Zero egress ON (default: true) |
Zero egress OFF | |
|---|---|---|
| Marketplace | Blocked | Extension marketplace updates |
| Telemetry | Off | May follow upstream defaults |
| GitHub / Copilot cloud | Blocked | Available when signed in |
| Local Ollama | Allowed | Allowed |
| Billing checkout | Opt-in (allowBillingRequests) |
Allowed when configured |
| Studio cloud | Opt-in (allowPlatformRequests) |
Allowed when configured |
| Toggle | joingrove.toggleZeroEgressMode |
Same command |
Campus self-hosted vs local dev
| Campus self-hosted | Local dev | |
|---|---|---|
| Setup | joingrove.selfHostedWizard, Docker campus |
npm install + npm run dev |
| Audience | Universities, bootcamps, shared labs | Individual developer machine |
| Distribution | USB, WhatsApp tutorial packs, REH URL | Direct install |
| Build | npm run build-fast once on server VM |
Full compile or fast build locally |
| Docs | self-hosted-campus.md, campus-first-project.md |
README.md quick start |
Security modes (manual / allowlist / online)
| Upstream-style | JoinGrove preset | Command |
|---|---|---|
| Manual / block by default | Strict offline — zero egress, no platform/billing | joingrove.securityModeWizard → Strict |
| Allowlist | Studio cloud — zero egress + platform API allow | joingrove.securityModeWizard → Studio cloud |
| Auto-run / online | Online — zero egress off, billing + platform allowed | joingrove.securityModeWizard → Online |
| Toggle | Flip zero egress only | joingrove.toggleZeroEgressMode |
Setup & Installation
Reference tables are generated from canonical sources (product.json, command registrations, egress policy). After changing those sources, regenerate:
node scripts/generate-docs-reference.mjs
Next: Run npm run verify-docs to confirm tables match sources.
Code Examples
npm run generate-docs-reference
Next: Open the docs hub with joingrove.openDocsHub or browse topics with joingrove.openDocsTopic.
How It Connects
- Documentation hub:
docs/README.md - Doc template:
docs/TEMPLATE.md - Verify:
npm run verify-docs