This repository simulates a first delivery sprint for an AI desktop application built on a VS Code / VSCodium-compatible shell. The POC focuses on a standalone extension package named markdown-workbench.
The extension demonstrates how Markdown files can be rendered as styled interactive surfaces inside a custom editor while sidecar YAML files provide workflow metadata, cards, and mock AI actions. The goal is to prove extension architecture, typed message passing, local file integration, and command routing without depending on real LLM infrastructure.
Working name: AI Desktop Document Surface
Primary demo story: A user opens a project brief in Markdown, sees a styled document surface instead of raw text, reviews metadata sourced from a YAML state file, and triggers local actions such as copying a prompt template, opening a related document, or revealing the source file.
CustomTextEditorProviderfor Markdown documents throughReopen With...- Markdown frontmatter parsing for
title,summary,tags,status,related - Sidecar YAML loading from
<basename>.meta.yaml - Styled HTML webview using VS Code theme variables
- Action routing through
webview.postMessage -> command handling -> VS Code notification/output - Lightweight
WebviewViewProviderside panel showing active document summary and status - Live refresh when the Markdown file changes
- Live refresh when the sidecar YAML file changes
- Graceful fallback when sidecar YAML is missing
- Real LLM calls
- Electron or VSCodium fork shell customization
- Hidden IDE chrome behavior
- Packaging or distribution changes to a forked desktop runtime
- Multi-extension orchestration beyond a local command-routing demo
title: Project Brief
summary: Short overview for the rendered hero section.
tags:
- onboarding
- customer-facing
status: Ready for Review
related:
- related-note.mdFile name pattern:
project-brief.md
project-brief.meta.yaml
Schema used in the POC:
owner: Product Ops
stage: Internal Review
lastUpdated: 2026-04-07
cards:
- title: Priority
value: High
tone: warning
- title: Audience
value: Executive Team
tone: info
actions:
- id: copy-prompt
label: Copy Prompt
kind: copyPrompt
prompt: Summarize this document for leadership.
- id: notify-review
label: Trigger Review
kind: notify
description: Mock routed command for review workflow.
- id: open-related
label: Open Related Note
kind: openRelated
target: related-note.mdaiDesktopSurface.documentSurfaceaiDesktopSurface.metadataView
aiDesktopSurface.runActionaiDesktopSurface.openRelatedaiDesktopSurface.revealSourceaiDesktopSurface.refresh
DocumentFrontmatterDocumentStateFileDocumentCardDocumentActionSurfacePayload
surfaceReadyrunActionopenRelatedrevealSource
- When a Markdown file is reopened with the custom editor, the extension parses frontmatter, renders Markdown body HTML, loads sidecar YAML, and builds a unified
SurfacePayload. - The webview presents hero content, tags, rendered document body, metadata cards, action buttons, and related docs.
- When the document changes, the payload refreshes automatically.
- When the sidecar YAML changes, the payload refreshes automatically.
- When sidecar YAML is missing, the document still renders with frontmatter and body content only.
- Shows the currently active surface title, owner, stage, tags, and whether a sidecar file was found.
- Provides quick actions for refresh and reveal source.
- Updates whenever the active custom editor payload changes.
copyPromptcopies action prompt text to the clipboard and writes to the output channel.notifyshows a VS Code information message and writes to the output channel.openRelatedresolves a relative path from the current document and opens it in the editor.revealSourceopens the original Markdown text document.
npm install,npm run compile,npm run lint, andnpm run testall succeed.- The extension runs in a VS Code Extension Development Host.
- A demo Markdown document can be reopened with
AI Desktop Surface. - The rendered page shows hero content, tags, cards, actions, and related docs.
- Action buttons trigger routed behavior without any backend dependency.
- The metadata side view reflects the active document surface.
- Removing the sidecar YAML still leaves a functional surface with reduced metadata.
npm installnpm run compile
npm run lint
npm run test- Open the repository root in VS Code.
- Press
F5and launch theRun Markdown Workbenchconfiguration. - In the Extension Development Host window, open the
demo-workspacefolder if it is not already opened. - Open
project-brief.md. - Run
Reopen Editor With.... - Select
AI Desktop Surface. - Verify the Explorer view shows
AI Surface Metadata.
npm run package:vsixExpected artifact:
extensions/markdown-workbench/markdown-workbench-0.1.0.vsix
- Run
npm install,npm run compile,npm run lint, andnpm run testfrom the repository root. - Start the Extension Development Host with
F5. - Reopen
demo-workspace/project-brief.mdwithAI Desktop Surface. - Confirm the rendered surface shows title, summary, tags, Markdown body, sidecar cards, and action buttons.
- Click
Copy Promptand confirm a VS Code notification appears and clipboard content is updated. - Click
Trigger Reviewand confirm a mock routed notification appears. - Click
Open Related Noteand confirmrelated-note.mdopens. - Confirm the
AI Surface Metadataside panel shows title, owner, stage, tags, and sidecar status. - Edit
project-brief.mdand confirm the surface refreshes. - Edit
project-brief.meta.yamland confirm metadata cards/actions refresh. - Open
fallback-only.mdwithAI Desktop Surfaceand confirm the document still renders without sidecar metadata.
- Replace mock actions with command delegation to other local extensions
- Introduce shared protocol packages for multi-extension orchestration
- Add document state persistence and bidirectional edits
- Add VSCodium fork shell customizations and bundled extension strategy