Stamp Drawer is a WPF desktop utility for composing reusable clipboard-ready text stamps. This repository contains an MVP-oriented scaffold that follows the supplied product specification:
- WPF + MVVM structure for a Windows desktop app
- JSON-defined stamp definitions
- Drawer view with search, category filtering, and favorites
- Stamp interaction window with preview and copy command
- Simple template engine with environment context injection
- Service abstractions for configuration and clipboard interactions
StampDrawer.App/
App.xaml
App.xaml.cs
StampDrawer.App.csproj
Models/
ViewModels/
Views/
Services/
Styles/
Configuration/
StampDrawer.Tests/
StampDrawer.Tests.csproj
TemplateEngineTests.cs
- Install the .NET 8 SDK on your machine. The sandbox used for this repository does not include
dotnet, so the commands below are intended for a local Windows development environment. - Install the C# Dev Kit or C# extension in VS Code so the
dotnetlaunch configuration type is available. - Open the repository root in VS Code.
- Use Terminal → Run Task and choose one of the bundled tasks:
run StampDrawer.Appto start the WPF app without debugging.test StampDrawer.Teststo run the xUnit test project.
- Open the Run and Debug panel and choose one of the bundled launchers:
Launch StampDrawer.Appbuilds and starts the WPF desktop app.Launch StampDrawer.Testsbuilds the test project so you can debug test entry points or project startup issues.
The workspace files that support this flow live in .vscode/tasks.json and .vscode/launch.json.
dotnet build StampDrawer.App/StampDrawer.App.csproj
dotnet run --project StampDrawer.App/StampDrawer.App.csproj
dotnet test StampDrawer.Tests/StampDrawer.Tests.csprojThis environment does not include the .NET SDK, so the project files are scaffolded but were not compiled here. The included sample stamp definitions demonstrate text, multiline, select, and checkbox fields plus environment context tokens.