Skip to content

NuGet packages, dotnet new template and VS Code extension - #24

Merged
BuddhaCodes merged 1 commit into
masterfrom
feature/nuget-and-vscode
Nov 2, 2026
Merged

BuddhaCodes merged 1 commit into
masterfrom
feature/nuget-and-vscode

Conversation

@BuddhaCodes

@BuddhaCodes BuddhaCodes commented Nov 2, 2026 •

Copy link
Copy Markdown
Owner

NuGet

  • DanaProcessing (core) and DanaProcessing.AvaloniaHost (window) ship as packages with icon, README, XML docs and symbols.
  • New SketchApp.Run(): opens a sketch in a window from any .NET program. With no arguments it finds the program's only Sketch class, so IDE files run unchanged. Attached sketches run from the tray, and data/ works under dotnet run and in published apps.
  • using DanaProcessing; is added automatically, like in the IDE.
  • DanaProcessing.Templates: dotnet new dana-sketch -n MySketch.

VS Code extension (vscode-extension/)

  • New sketch, open any of the IDE's 86 examples (with their NuGet packages), ▶ Run, ⚡ Live (dotnet watch), Stop, and export as a single-file app for Windows/macOS/Linux.
  • // nuget: lines become PackageReferences on run, and you can add a NuGet package.
  • "Make this sketch runnable" for .cs files saved from the IDE, plus open in the IDE.
  • Reference for the word under the cursor, plus a link in hovers.
  • Snippets, a getting-started walkthrough, and a status bar and title bar.
  • Everything in English and Spanish, with tests that every string is translated.

Publishing

.github/workflows/publish-packages.yml: push a tag packages-v1.0.0 (or run it by hand). It tests, packs, builds a project from the template against the new packages, and packages the .vsix. It pushes to nuget.org with Trusted Publishing (no API key) if the NUGET_USER secret exists and the nuget.org policy is set up, and to the Marketplace if VSCE_PAT exists (publisher buddhacodes). It always uploads the files and creates a release with them.

Checks

  • 608 .NET tests pass (7 new: SketchApp, and examples.json in sync with the IDE) and 15 extension tests.
  • All 86 examples compile against the NuGet package.
  • A template project and the extension's generated projects build and run (screenshot under Xvfb), and the linux-x64 export works.
  • New CI job packages.
  • Docs page: "VS Code & NuGet".

Generated by Claude Code

NuGet:
- DanaProcessing and DanaProcessing.AvaloniaHost are packable with shared
  metadata (packaging/Package.props), icon, README, XML docs and symbols.
- SketchApp.Run() opens a sketch in its own window from any .NET program;
  with no arguments it runs the program's only Sketch class, so IDE files
  run unchanged. Attached sketches run from the tray, and data/ is found
  next to the project or the published app.
- buildTransitive props add `using DanaProcessing;` like the IDE.
- DanaProcessing.Templates: `dotnet new dana-sketch`, stamped with the
  package version.

VS Code extension (vscode-extension/):
- New sketch, open any of the IDE's 86 examples, run, live (dotnet watch),
  stop, export single-file apps, add NuGet packages, `// nuget:` lines
  synced on run, make an IDE sketch runnable, open in the IDE, reference
  lookup and hover links, snippets, walkthrough.
- English and Spanish (package.nls + l10n bundle), with tests that every
  string is translated.

Also: examples exporter tool with a sync test, CI job that packs and
builds a template project and the .vsix, publish-packages.yml (tag
packages-v*, pushes when NUGET_API_KEY / VSCE_PAT exist), and a
"VS Code & NuGet" docs page.
@BuddhaCodes
BuddhaCodes merged commit a1f14da into master Nov 2, 2026
8 checks passed
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