Skip to content

Contributing Guide

manaphassan edited this page Aug 5, 2026 · 1 revision

Contributing Guide

Quick reference for developers and maintainers. For the complete developer documentation, see the full CONTRIBUTING.md in the repository.

Home


Branch Structure

Branch Purpose
SS-Master Production-stable code. All stable releases ship from here.
staging Integration testing before promotion to SS-Master.
feature/* Feature development branches, merged via pull request.

Build

# v2.0+ Native WPF build
powershell -ExecutionPolicy Bypass -File .\installer\Build-Installer.ps1 -Version X.Y.Z

# Output: dist\SS-CAM-vX.Y.Z.exe  (~4.6 MB, single-file)

Test

# Full smoke test — validates WPF page construction
powershell -ExecutionPolicy Bypass -File .\tests\SmokeTest.ps1

# Expected: [PASS] ALL SMOKE TESTS PASSED CLEANLY!

Release Steps

  1. Develop on a feature/* branch and commit changes
  2. Merge into SS-Master with a no-fast-forward merge commit
  3. Build the EXE: Build-Installer.ps1 -Version X.Y.Z
  4. Run smoke tests: SmokeTest.ps1
  5. Tag the release: git tag -a vX.Y.Z -m "Release vX.Y.Z"
  6. Push: git push origin SS-Master --tags
  7. Create GitHub Release with the EXE attached as an asset
  8. Merge SS-Master into staging and push

Code Standards

  • Follow the existing MVVM-lite pattern (page code-behind as view-model controller)
  • Dispose DispatcherTimer instances on Window.Closed or page unload
  • Use try { } catch { } defensively for all file system operations (workspace may be a NAS path)
  • No passwords, tokens, or credentials in source code, scripts, or embedded payload
  • Mind Drop notes must always use ProtectedData.Protect — never stored as plain text

Version Update Checklist

When bumping to a new version, update all of the following:

File Field
src\SS-CAM\Properties\AssemblyInfo.cs AssemblyVersion, AssemblyFileVersion
src\SS-CAM\MainWindow.xaml Title, version TextBlock
src\SS-CAM\MainWindow.xaml.cs CurrentVersion constant
src\SS-CAM\Views\AboutWindow.xaml Version badge
src\SS-CAM\Views\SettingsPage.xaml.cs Update check fallback string
CHANGELOG.md New release section
README.md Download link and release table

Issues & Feedback

Report bugs and request features at: github.com/SuamiSihat/ss_cam/issues

Clone this wiki locally