ProjectName.manifest.toml Template
Copy this file to your project root and rename it YourAppName.manifest.toml. Fill in every field marked REQUIRED. Update [release], [release.installer], and [release.verified] as part of every release. project.version must always match release.version. This file is the version source of truth — the installer build script reads the version from it, and the application assembly version must match.
# [AppName].manifest.toml
# Desktop Application Release Standard — Project Manifest
#
# Instructions:
# 1. Copy this file to your project root
# 2. Rename it: YourAppName.manifest.toml
# 3. Fill in every field marked REQUIRED
# 4. Update [release], [release.installer], and [release.verified] as part of every release
# 5. project.version must always match release.version
#
# This file is the version source of truth. The installer build script reads
# the version from this file. The application assembly version must match.
# ─────────────────────────────────────────────────────────────────────────────
# PROJECT (required)
# ─────────────────────────────────────────────────────────────────────────────
[project]
id = "appname" # REQUIRED — lowercase, kebab-case, no spaces
title = "App Name" # REQUIRED — human-readable name
description = "" # one-sentence description of what this application does
type = "ui" # ui | service | tool | generator | pipeline | library | dashboard | infrastructure
stage = "prototype" # concept | prototype | active | near-complete | production | archived
version = "0.1.0" # REQUIRED — must match release.version
tags = []
# ─────────────────────────────────────────────────────────────────────────────
# METADATA (required)
# ─────────────────────────────────────────────────────────────────────────────
[metadata]
created = "YYYY-MM-DD" # REQUIRED — date project was started
last_updated = "YYYY-MM-DD"
maintainer = "Your Name"
license = "Proprietary"
language_primary = "C#" # REQUIRED
languages_used = ["C#", "XAML"]
# ─────────────────────────────────────────────────────────────────────────────
# STATE
# ─────────────────────────────────────────────────────────────────────────────
[state]
completion_percent = 0 # integer 0–100
stability = "experimental" # experimental | unstable | mostly-stable | stable | hardened
active_development = true
technical_debt = "low" # low | moderate | high
maintenance_burden = "low" # low | medium | high
known_gaps = [
# "Example: no ARM64 build validated",
]
# ─────────────────────────────────────────────────────────────────────────────
# RUNTIME (required)
# ─────────────────────────────────────────────────────────────────────────────
[runtime]
platform = "desktop" # REQUIRED — desktop | server | cli | container | web | library
environment = "Windows 10 22H2+ / Windows 11, x64"
services = []
storage = ["local-filesystem"]
# ─────────────────────────────────────────────────────────────────────────────
# CAPABILITIES
# ─────────────────────────────────────────────────────────────────────────────
[capabilities]
offline = true
encryption = false
telemetry = false
# Add any application-specific capability flags here
# ─────────────────────────────────────────────────────────────────────────────
# RELEASE (required — update every release)
#
# Rules:
# - Never describe a version that has not been released
# - release.version must match project.version
# - release.installer.sha256 must match the artifact on disk
# - release.installer.sha256 must also appear in the release note document
# ─────────────────────────────────────────────────────────────────────────────
[release]
status = "draft" # draft | candidate | local-verified | published | superseded | withdrawn
version = "0.1.0" # REQUIRED — must match project.version
name = "AppName v0.1.0 — Theme Name" # REQUIRED — 'AppName vX.Y.Z — Release Theme'
date = "YYYY-MM-DD" # REQUIRED — ISO 8601 publish date
[release.installer]
path = "artifacts/installer/AppName-0.1.0.0-win-x64.msi" # REQUIRED
runtime = "win-x64" # REQUIRED — win-x64 | win-arm64 | win-x86
package_version = "0.1.0.0" # REQUIRED — four-part Windows version (MAJOR.MINOR.PATCH.0)
size_bytes = 0 # file size in bytes
sha256 = "" # REQUIRED — uppercase hex SHA-256, no separators
blake3 = "" # optional — recommended for security-sensitive releases
signing = "unsigned" # REQUIRED — 'self-signed CN=...' | 'code-signed by ...' | 'unsigned'
[release.verified]
date = "YYYY-MM-DD" # REQUIRED — date verification was performed
tests = "[runner] passed N tests" # REQUIRED — include runner name and test count
installer_build = "[script] completed on YYYY-MM-DD" # REQUIRED
install_check = "installed, launched with title '[window title]', uninstalled successfully on YYYY-MM-DD"
data_safety = "[data path] not deleted by uninstall on YYYY-MM-DD"
upgrade_check = "" # "existing data preserved after upgrade from vX.Y.Z" (if applicable)
# ─────────────────────────────────────────────────────────────────────────────
# DOCUMENTATION
# ─────────────────────────────────────────────────────────────────────────────
[documentation]
readme = "README.md"
release_notes = "docs/AppName v0.1.0.md" # path to current version release note
release_checklist = "docs/AppName - Release Checklist.md"
trust_model = "" # path to trust/security model (required if app handles sensitive data)
threat_model = ""
dependency_provenance = ""
build_guide = ""
integrity_matrix = ""
architecture_doc = ""
generated_sections = false
# ─────────────────────────────────────────────────────────────────────────────
# RELATIONSHIPS
# ─────────────────────────────────────────────────────────────────────────────
[relationships]
depends_on_projects = []
used_by_projects = []
external_dependencies = [
# "PackageName vX.Y.Z"
]
related_projects = []
# ─────────────────────────────────────────────────────────────────────────────
# ARTIFACTS
# ─────────────────────────────────────────────────────────────────────────────
[artifacts]
produces = ["AppName-0.1.0.0-win-x64.msi"]
consumes = []
# ─────────────────────────────────────────────────────────────────────────────
# DISTRIBUTION
# ─────────────────────────────────────────────────────────────────────────────
[distribution]
packaged = true
package_formats = ["msi"] # msi | msix | exe
portable = false
offline_capable = true
requires_installation = true
# ─────────────────────────────────────────────────────────────────────────────
# STRUCTURE
# ─────────────────────────────────────────────────────────────────────────────
[structure]
repo_path = ""
docs_path = "docs/"
data_path = ""
# ─────────────────────────────────────────────────────────────────────────────
# AUTOMATION
# ─────────────────────────────────────────────────────────────────────────────
[automation]
build = "" # e.g. "dotnet build -c Release"
deploy = "" # e.g. ".\scripts\Build-Installer.ps1"
tasks = []
# ─────────────────────────────────────────────────────────────────────────────
# OBSERVABILITY
# ─────────────────────────────────────────────────────────────────────────────
[observability]
logs = false
metrics = false
health_checks = false
event_stream = false
telemetry = false
# ─────────────────────────────────────────────────────────────────────────────
# GENERATION
# ─────────────────────────────────────────────────────────────────────────────
[generation]
manifest_is_canonical = true
generates_readme = false
generates_writerside = false
generates_jsonld = false
generates_visualizations = false
generates_embeddings = false
generator = ""
# ─────────────────────────────────────────────────────────────────────────────
# SEMANTIC
# ─────────────────────────────────────────────────────────────────────────────
[semantic]
domain = ""
primary_concepts = []
related_domains = []
cognitive_tags = []
complexity = "moderate" # low | moderate | high | very-high
# ─────────────────────────────────────────────────────────────────────────────
# VISUAL
# ─────────────────────────────────────────────────────────────────────────────
[visual]
theme = ""
primary_color = ""
semantic_role = ""
contains_svg_assets = false
contains_scene_art = false
# ─────────────────────────────────────────────────────────────────────────────
# LINKS
# ─────────────────────────────────────────────────────────────────────────────
[links]
repository = ""
homepage = ""
dashboard = ""
# ─────────────────────────────────────────────────────────────────────────────
# NOTES
# ─────────────────────────────────────────────────────────────────────────────
[notes]
# Add free-form key/value pairs here for project-specific metadata
# example = "value"