Skip to content

Commit ca0f5bf

Browse files
committed
feat(vpms): freeze version 2 and add official examples
1 parent 59e1e5f commit ca0f5bf

19 files changed

Lines changed: 3380 additions & 3 deletions

docs/04-examples/v2/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# VPMS Version 2 Example Guide
2+
3+
The official source examples are stored in:
4+
5+
```text
6+
examples/v2/
7+
```
8+
9+
Downloadable copies are stored in:
10+
11+
```text
12+
public/examples/v2/
13+
```
14+
15+
Start with `vibproject-minimal-example.ygit` when creating a manifest. Use
16+
`vibproject-full-example.ygit` as the complete field reference. The remaining
17+
examples demonstrate common project classifications without changing the
18+
Version 2 schema contract.
19+
20+
Every example must validate against:
21+
22+
```text
23+
v2/vibproject.schema.json
24+
```
25+
26+
The canonical published schema URL is:
27+
28+
```text
29+
https://schema.ygit.dev/vpms/v2/vibproject.schema.json
30+
```

examples/v2/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# VPMS Version 2 Examples
2+
3+
These files are official valid reference manifests for `https://schema.ygit.dev/vpms/v2/vibproject.schema.json`.
4+
5+
## Files
6+
7+
| File | Coverage |
8+
| --- | --- |
9+
| `vibproject-minimal-example.ygit` | Required root fields only |
10+
| `vibproject-full-example.ygit` | Complete Version 2 field coverage |
11+
| `vibproject-desktop-app-example.ygit` | `desktop-app` classification |
12+
| `vibproject-web-service-example.ygit` | `web-service` classification |
13+
| `vibproject-library-example.ygit` | `library` classification |
14+
| `vibproject-community-project-example.ygit` | `community-project` classification |
15+
| `vibproject-worker-example.ygit` | `worker` classification |
16+
17+
## Rules
18+
19+
- UTF-8 without BOM.
20+
- LF line endings.
21+
- Two-space JSON indentation.
22+
- `.ygit` extension.
23+
- Canonical Version 2 `$schema` URL.
24+
- `schemaVersion` must equal `2`.
25+
- `manifestVersion` and `metadata.specificationVersion` must use major version `2`.
26+
- No credentials, tokens, passwords, or private data.
27+
- Source and published copies must remain byte-identical.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
"$schema": "https://schema.ygit.dev/vpms/v2/vibproject.schema.json",
3+
"schemaVersion": 2,
4+
"manifestVersion": "2.0.0",
5+
"project": {
6+
"id": "ygit-community-hub",
7+
"name": "YGit Community Hub",
8+
"description": "Community-maintained portal for YGit resources and discussions.",
9+
"version": "1.0.0",
10+
"status": "stable",
11+
"visibility": "public"
12+
},
13+
"classification": {
14+
"ownerType": "community",
15+
"productType": "community-project",
16+
"applicationType": "website",
17+
"distribution": "open-source",
18+
"lifecycle": "stable"
19+
},
20+
"organization": {
21+
"owner": "YGit Community",
22+
"maintainers": [
23+
"Community Maintainers"
24+
],
25+
"contributors": [
26+
"YGit Contributors"
27+
],
28+
"contact": {
29+
"email": "community@vib.tools",
30+
"website": "https://vib.tools/"
31+
}
32+
},
33+
"links": {
34+
"website": "https://community.ygit.dev/",
35+
"documentation": "https://schema.ygit.dev/",
36+
"community": "https://github.com/vibtools/ygit-schema/discussions",
37+
"github": "https://github.com/vibtools/ygit-community-hub"
38+
},
39+
"support": {
40+
"email": "community@vib.tools",
41+
"community": "https://github.com/vibtools/ygit-schema/discussions",
42+
"issues": "https://github.com/vibtools/ygit-community-hub/issues",
43+
"discussions": "https://github.com/vibtools/ygit-community-hub/discussions"
44+
},
45+
"funding": {
46+
"github": "https://github.com/sponsors/vibtools",
47+
"custom": "https://vib.tools/sponsor/"
48+
},
49+
"metadata": {
50+
"specification": "VPMS",
51+
"specificationVersion": "2.0.0"
52+
}
53+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
{
2+
"$schema": "https://schema.ygit.dev/vpms/v2/vibproject.schema.json",
3+
"schemaVersion": 2,
4+
"manifestVersion": "2.0.0",
5+
"project": {
6+
"id": "vib-desktop-automator",
7+
"name": "Vib Desktop Automator",
8+
"description": "Cross-platform desktop automation utility.",
9+
"version": "1.3.0",
10+
"status": "stable",
11+
"visibility": "public"
12+
},
13+
"classification": {
14+
"ownerType": "organization",
15+
"productType": "official-product",
16+
"applicationType": "desktop-app",
17+
"distribution": "open-source",
18+
"lifecycle": "stable"
19+
},
20+
"technology": {
21+
"languages": [
22+
"Python"
23+
],
24+
"frameworks": [
25+
"CustomTkinter"
26+
],
27+
"libraries": [
28+
"Playwright"
29+
],
30+
"packageManagers": [
31+
"pip"
32+
]
33+
},
34+
"platform": {
35+
"desktop": [
36+
"Windows",
37+
"Linux",
38+
"macOS"
39+
],
40+
"operatingSystems": [
41+
"Windows 10",
42+
"Windows 11",
43+
"Ubuntu",
44+
"macOS"
45+
]
46+
},
47+
"runtime": {
48+
"python": ">=3.12",
49+
"docker": false
50+
},
51+
"entrypoints": {
52+
"application": "src/main.py",
53+
"gui": "src/ui/app.py",
54+
"tests": "tests/"
55+
},
56+
"build": {
57+
"buildSystem": "Python",
58+
"packageFormat": [
59+
"wheel",
60+
"zip"
61+
],
62+
"commands": {
63+
"install": "python -m pip install -r requirements.txt",
64+
"build": "python -m build",
65+
"test": "python -m pytest"
66+
}
67+
},
68+
"metadata": {
69+
"specification": "VPMS",
70+
"specificationVersion": "2.0.0"
71+
}
72+
}

0 commit comments

Comments
 (0)