@@ -523,13 +523,29 @@ dtvem install
523523npm install
524524```
525525
526+ ### npm Scripts
527+
528+ Development tasks are available via npm:
529+
530+ | Script | Description |
531+ | --------| -------------|
532+ | ` npm run format ` | Format all Go source files |
533+ | ` npm run lint ` | Run golangci-lint |
534+ | ` npm run test ` | Run all tests |
535+ | ` npm run test:coverage ` | Run tests with coverage report |
536+ | ` npm run build ` | Build both CLI and shim binaries |
537+ | ` npm run install ` | Build and install to ~ /.dtvem/bin |
538+ | ` npm run clean ` | Clean build artifacts |
539+ | ` npm run check ` | Run format, lint, and test |
540+
526541### Building
527542
528543``` bash
529- # Build main executable
530- go build -o dist/dtvem.exe ./src
544+ # Using npm (recommended)
545+ npm run build
531546
532- # Build shim executable
547+ # Or directly with Go
548+ go build -o dist/dtvem.exe ./src
533549go build -o dist/dtvem-shim.exe ./src/cmd/shim
534550
535551# Build for specific platforms
@@ -541,18 +557,14 @@ GOOS=windows GOARCH=amd64 go build -o dist/dtvem.exe ./src
541557### Testing
542558
543559``` bash
544- # Run all tests
545- cd src && go test ./...
560+ # Using npm (recommended)
561+ npm run test
562+ npm run test:coverage
546563
547- # Run tests for a specific package
564+ # Or directly with Go
565+ cd src && go test ./...
548566cd src && go test ./internal/config -v
549-
550- # Run tests with coverage
551567cd src && go test -cover ./...
552-
553- # Generate HTML coverage report
554- cd src && go test -coverprofile=coverage.out ./...
555- cd src && go tool cover -html=coverage.out -o coverage.html
556568```
557569
558570** Test Coverage (63+ tests):**
@@ -633,12 +645,16 @@ To create a new release:
633645
6346461 . ** Ensure all tests pass locally:**
635647 ``` bash
636- cd src && go test ./...
648+ npm run check
637649 ```
638650
6396512 . ** Commit and push your changes to ` main ` branch**
640652
641- 3 . ** Trigger the release workflow manually:**
653+ 3 . ** Preview the changelog (optional):**
654+ - Go to [ Actions → Preview Changelog] ( https://github.com/dtvem/dtvem/actions/workflows/preview-changelog.yml )
655+ - Click "Run workflow" to see what release notes will be generated
656+
657+ 4 . ** Trigger the release workflow:**
642658 - Go to [ Actions → Release] ( https://github.com/dtvem/dtvem/actions/workflows/release.yml )
643659 - Click "Run workflow"
644660 - Select the ` main ` branch
@@ -654,6 +670,26 @@ The release workflow will automatically:
654670- Create a GitHub Release with binaries, install scripts, and changelog
655671- ** Important:** Release is only created if all tests pass on all platforms
656672
673+ ### Release Notes Generation
674+
675+ Release notes are automatically generated from merged PRs since the last release:
676+
677+ ** Categorization by Commit Type:**
678+ - 🐛 ** Bug Fixes** - PRs with ` fix ` prefix
679+ - ⚡ ** Performance & Improvements** - PRs with ` perf ` or ` refactor ` prefix
680+ - 🎉 ** New Features** - PRs with ` feat ` prefix
681+ - 🔧 ** Maintenance** - PRs with ` docs ` , ` style ` , ` test ` , ` build ` , ` ci ` , or ` chore ` prefix
682+ - 📦 ** Other** - Uncategorized PRs
683+
684+ ** Format:** Each entry shows ` - PR title (#issue) ` sorted by issue number.
685+
686+ ** Custom Highlights:** Add a ` /release-note <message> ` comment on any PR to feature it in the Highlights section:
687+ ```
688+ /release-note Dark mode is now available! Toggle it in Settings > Appearance.
689+ ```
690+
691+ ** Excluding PRs:** Add a ` /skip-changelog ` comment on any PR to exclude it from release notes.
692+
657693** Supported Release Platforms:**
658694- Windows (amd64, arm64)
659695- macOS (amd64, arm64)
0 commit comments