This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
dotnet build -c Releasedotnet packThe NuGet packages are output to ./nupkg/ directory.
# Install globally
dotnet tool install --global HC.Dev
# Update to latest
dotnet tool update --global HC.DevThis is a .NET 8.0 command-line tool (dev) that simplifies common development tasks for .NET projects. The tool is distributed as a NuGet package (HC.Dev).
- Program.cs: Main entry point that handles command routing and execution. Uses Spectre.Console for terminal UI.
- SemVer.cs: Semantic versioning implementation for version bumping operations.
- Dev.csproj: Project configuration with NuGet package metadata and tool configuration.
-
Command System: The tool supports both built-in commands and custom commands via
commands.jsonconfiguration files. -
Solution/Project Detection: Automatically detects
.sln,.slnx, or.csprojfiles in the current directory to determine context. -
Version Management: Uses regex pattern
<Version>(?<version>.*)</Version>to find and update versions in project files. -
Cross-Platform Support: Uses
RuntimeInformation.IsOSPlatform()to handle platform-specific behaviors (Windows vs Linux/macOS).
b→buildc→cleanhor?→helpf→frontendv→bumpvc→bump-commit
Commands can be combined using the + operator to execute them sequentially (e.g., dev b+f to build then run frontend). Execution stops if any command fails.
- Microsoft.VisualStudio.SolutionPersistence: For parsing solution files
- Spectre.Console: For rich terminal UI
- ThisAssembly.AssemblyInfo/Git: For build-time assembly information
This project maintains a STRIDE threat model in STRIDE.md. When making changes, always review whether STRIDE.md needs updating. This applies to:
- New features that introduce trust boundaries, external process execution, file I/O, or user input handling
- Security-related changes such as trust mechanisms, authentication, input validation, or sandboxing
- Changes to existing threats — if a mitigation is implemented, update the affected threat's severity and mitigation column
- New configuration surfaces — any new config files, environment variables, or CLI flags that could be abused
- Dependency changes — new external processes, Docker images, NuGet packages, or network calls
When updating STRIDE.md:
- Update the version and date at the top
- Add/modify threat entries in the appropriate STRIDE category
- Update the Risk Summary table
- Update the Recommended Mitigations section (strike through completed items)
- When bumping versions, the tool preserves the original version structure (major.minor.build.fix-suffix+buildvars).
- The
frontendcommand uses Docker imageghcr.io/stevehansen/vidyano-frontend-builder:latest. - Build files (
build.cmdon Windows,build.shon Linux/macOS) take precedence overdotnet buildif they exist. - The
cleancommand removesbin,obj,tmp-build, and platform-specific build directories, excludingnode_modules. - Custom commands in
commands.jsonsupport placeholders:{sln},{project},{dir}.