Appendix A — Complete example
The same document in YAML (RECOMMENDED), TOML, and JSON. All three parse to the same in-memory tree.
A.1 TOML
Section titled “A.1 TOML”#:schema https://projectfile.org/schema/v1.jsonspec_version = "1"kind = "SoftwareSourceCode"
[identity]namespace = "com.acme"name = "snuggly-sunbeam"version = "1.4.0"visibility = "public"created = "2026-04-22"released = "2026-05-04"modified = "2026-05-06"
[identity.title]en = "Snuggly Sunbeam"es = "Rayo de Sol Acogedor"uk = "Затишний Сонячний Промінь"
[identity.summary]en = "A lightweight library for rendering warm greetings."
[[repositories]]url = "git@github.com:acme/snuggly-sunbeam.git"type = "git"branch = "main"role = "origin"
[[repositories]]url = "https://codeberg.org/acme/snuggly-sunbeam.git"type = "git"role = "mirror"
[[links]]type = "homepage"url = "https://snuggly-sunbeam.dev"
[[links]]type = "source-code"url = "https://github.com/acme/snuggly-sunbeam"
[[links]]type = "bugs"url = "https://github.com/acme/snuggly-sunbeam/issues"
[[links]]type = "documentation"url = "https://snuggly-sunbeam.dev/docs"
[[links]]type = "changelog"url = "https://snuggly-sunbeam.dev/changelog"
[[links]]type = "chat"url = "https://matrix.to/#/#snuggly-sunbeam:matrix.org"
[[links]]type = "donation"url = "https://snuggly-sunbeam.dev/donate"
[[links]]type = "translate"url = "https://hosted.weblate.org/projects/snuggly-sunbeam/"
[license]spdx = "Apache-2.0"file = "LICENSE"
[copyright]year = 2026
[[people]]family-names = "Example"given-names = "Alice"email = "alice@example.com"roles = ["founder", "maintainer", "copyright"]orcid = "0000-0002-1825-0097"affiliation = "Projectfile"from = "2026-01-01"
[[people]]family-names = "Example"given-names = "Bob"email = "bob@example.com"roles = ["author"]
[[organizations]]name = "Projectfile"email = "hello@projectfile.org"url = "https://projectfile.org"roles = ["funder", "copyright"]from = "2026-01-01"
keywords = [ "greetings", "i18n", "lightweight", "topic:internationalization", "audience:developer", "status:stable",]
[[funding]]type = "open_collective"url = "https://opencollective.com/snuggly-sunbeam"
technologies = ["typescript", "node", "react"]
[requirements.browsers]production = ["> 0.5%", "last 2 versions", "not dead"]development = ["last 1 chrome version", "last 1 firefox version"]
[requirements.runtime]node = ">=24"
[com.example.build]type = "standard"image = "ubuntu:24.04"
[org.projectfile]operating-system = ["linux", "darwin"]architecture = ["amd64", "arm64"]
[[org.projectfile.health.endpoints]]path = "/health"port = 8080protocol = "http"kind = "liveness"
[com.example.ci]runner = "linux-amd64"cache = trueA.2 YAML
Section titled “A.2 YAML”$schema: https://projectfile.org/schema/v1.jsonkind: SoftwareSourceCode
identity: namespace: com.acme name: snuggly-sunbeam version: "1.4.0" visibility: public title: en: "Snuggly Sunbeam" es: "Rayo de Sol Acogedor" uk: "Затишний Сонячний Промінь" summary: en: "A lightweight library for rendering warm greetings." created: "2026-04-22" released: "2026-05-04" modified: "2026-05-06"
repositories: - url: "git@github.com:acme/snuggly-sunbeam.git" type: git branch: main role: origin - url: https://codeberg.org/acme/snuggly-sunbeam.git type: git role: mirror
links: - type: homepage url: https://snuggly-sunbeam.dev - type: source-code url: https://github.com/acme/snuggly-sunbeam - type: bugs url: https://github.com/acme/snuggly-sunbeam/issues - type: documentation url: https://snuggly-sunbeam.dev/docs - type: changelog url: https://snuggly-sunbeam.dev/changelog - type: chat url: https://matrix.to/#/#snuggly-sunbeam:matrix.org - type: donation url: https://snuggly-sunbeam.dev/donate - type: translate url: https://hosted.weblate.org/projects/snuggly-sunbeam/
license: spdx: Apache-2.0 file: LICENSE
copyright: year: 2026
people: - family-names: Example given-names: Alice email: alice@example.com roles: [founder, maintainer, copyright] orcid: "0000-0002-1825-0097" affiliation: "Projectfile" from: "2026-01-01" - family-names: Example given-names: Bob email: bob@example.com roles: [author]
organizations: - name: "Projectfile" email: hello@projectfile.org url: https://projectfile.org roles: [funder, copyright] from: "2026-01-01"
keywords: - greetings - i18n - lightweight - topic:internationalization - audience:developer - status:stable
technologies: - typescript - node - react
requirements: browsers: production: ["> 0.5%", "last 2 versions", "not dead"] development: ["last 1 chrome version", "last 1 firefox version"] runtime: node: ">=24"
com: example: build: type: standard image: "ubuntu:24.04" ci: runner: linux-amd64 cache: true
org: projectfile: operating-system: [ linux, darwin ] architecture: [ amd64, arm64 ] health: endpoints: - path: /health port: 8080 protocol: http kind: livenessA.3 JSON
Section titled “A.3 JSON”JSON cannot carry comments; the discriminator is $schema only. Otherwise the structure is identical to the YAML form above. See spec/examples/all-features.json for the full file.