Skip to content

M1.15 – Developer Documentation & Contribution Guide #15

Description

@karkra911

Overview

Create the developer documentation and contribution guide needed for engineers and AI coding agents to work on SystemPulse safely and consistently.

Objectives

  • Establish the foundational developer documentation capability for SystemPulse.
  • Keep the implementation modular, testable, and suitable for future milestones.
  • Document conventions so contributors can extend the area consistently.

Scope

Included:

  • Core implementation patterns and repository artifacts for this foundation task.
  • Documentation required for future contributors to use or extend the work.
  • Tests or validation hooks appropriate for the implemented surface.

Out of scope:

  • Product features assigned to later milestones.
  • Final UX polish beyond foundation readiness.
  • Cloud services, telemetry upload, or release packaging unless explicitly required.

Functional Requirements

  • Write a README that explains the project purpose, technology stack, and current status.
  • Document prerequisites including Windows version, Visual Studio, CMake, Windows App SDK, and dependency tooling.
  • Document clone, restore, configure, build, run, and test commands.
  • Document repository layout and module responsibilities.
  • Add a CONTRIBUTING guide with branch, commit, issue, and pull request expectations.
  • Document code formatting and static analysis commands.
  • Document CI expectations and how to reproduce failures locally.
  • Document logging, configuration, and crash artifact locations.
  • Add guidance for adding new dependencies.
  • Add guidance for adding settings and resources.
  • Add issue and PR template recommendations if not implemented elsewhere.
  • Document security-sensitive behavior expectations for system monitoring code.
  • Provide troubleshooting steps for common build and launch problems.
  • Keep documentation concise but complete enough for a first-time contributor.

Technical Considerations

  • Keep WinUI 3 concerns separated from C++ core services unless the issue is explicitly UI-focused.
  • Prefer explicit interfaces, narrow responsibilities, and dependency direction that matches the architecture plan.
  • Use Windows API boundaries carefully so platform behavior can be tested or mocked.
  • Integrate with logging, configuration, CMake, and CI where relevant.
  • Avoid introducing global mutable state or feature-specific shortcuts that future milestones must undo.

Dependency Policy

  • Prefer scratch implementations over third-party libraries whenever practical.
  • Do not introduce Python or pip dependencies.
  • Do not introduce unnecessary external runtime dependencies.
  • Prefer the C++ Standard Library, Windows SDK, Win32 APIs, and WinUI 3.
  • Any proposed external dependency must include a written technical justification explaining why an in-house implementation is not practical.
  • Keep all components modular so future internal replacements remain straightforward.

Deliverables

  • Source files, configuration files, or documentation implementing this foundation area.
  • Tests, examples, or validation scripts where applicable.
  • README or docs updates explaining usage and extension points.
  • Integration with existing build and repository conventions.

Acceptance Criteria

  • A new contributor can identify required tools from documentation.

  • A new contributor can build the project using documented commands.

  • A new contributor can run tests using documented commands.

  • Contribution expectations for PRs and reviews are documented.

  • Formatting and static analysis workflows are documented.

  • Architecture and repository layout documentation are linked from README.

  • Troubleshooting covers at least the most likely setup failures.

  • Documentation avoids claiming incomplete features are implemented.

  • No Python or pip dependency introduced.

  • No unnecessary third-party runtime dependency introduced.

  • Solution primarily relies on C++ Standard Library and Windows APIs.

  • Any external dependency is fully documented and technically justified.

Dependencies

  • M1.1 - Initialize Repository Structure
  • M1.2 - Configure CMake Build System
  • M1.8 - Dependency Management
  • M1.9 - GitHub Actions Continuous Integration
  • M1.10 - Code Formatting & Static Analysis

Suggested Labels

  • enhancement
  • foundation
  • documentation
  • developer-experience

Metadata

Metadata

Assignees

No one assigned

    Labels

    developer-experienceDeveloper workflow and contribution experiencedocumentationImprovements or additions to documentationenhancementNew feature or requestfoundationFoundational work for the project

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions