docs(architecture): add generated runtime diagram and receipts
Add the generated Gitty runtime architecture documentation produced by archify: rendered HTML, JSON specification and delivery/browser receipts, visual-check screenshots and contact sheets, and accompanying diagram JSON/visual files under docs/diagrams. These are auto-generated static documentation artifacts (archify metadata present) and should not be edited by hand.
This commit is contained in:
@@ -0,0 +1,353 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"diagram_type": "architecture",
|
||||
"meta": {
|
||||
"title": "Gitty runtime architecture",
|
||||
"locale": "en",
|
||||
"quality_profile": "showcase",
|
||||
"repository": {
|
||||
"url": "https://git.cbsk-tech.de/Christoph/GitLite.git",
|
||||
"revision": "47b8544ba889a1357f6578469d2163bbd438ab00",
|
||||
"link_mode": "local-only"
|
||||
}
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"id": "workspace",
|
||||
"type": "frontend",
|
||||
"label": "Workspace UI",
|
||||
"sublabel": "Svelte 5 \u00b7 WebView",
|
||||
"pos": [
|
||||
60,
|
||||
220
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src/App.svelte",
|
||||
"line": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dispatch",
|
||||
"type": "backend",
|
||||
"label": "Tauri commands",
|
||||
"sublabel": "Invoke / event bridge",
|
||||
"pos": [
|
||||
325,
|
||||
220
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src-tauri/src/main.rs",
|
||||
"line": 334
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "git-service",
|
||||
"type": "backend",
|
||||
"label": "Git operations",
|
||||
"sublabel": "Rust \u00b7 blocking tasks",
|
||||
"pos": [
|
||||
590,
|
||||
220
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src-tauri/src/git.rs",
|
||||
"line": 577
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "git-process",
|
||||
"type": "external",
|
||||
"label": "Git + Git LFS",
|
||||
"sublabel": "Native subprocesses",
|
||||
"pos": [
|
||||
855,
|
||||
220
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src-tauri/src/git.rs",
|
||||
"line": 415
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "repository",
|
||||
"type": "database",
|
||||
"label": "Local repository",
|
||||
"sublabel": "Worktree \u00b7 index \u00b7 .git",
|
||||
"pos": [
|
||||
1120,
|
||||
220
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src-tauri/src/git.rs",
|
||||
"line": 7436
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "hosting-client",
|
||||
"type": "backend",
|
||||
"label": "Hosting adapters",
|
||||
"sublabel": "Issues \u00b7 reviews \u00b7 boards",
|
||||
"pos": [
|
||||
325,
|
||||
70
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src-tauri/src/integrations.rs",
|
||||
"line": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "host-services",
|
||||
"type": "external",
|
||||
"label": "Git hosting",
|
||||
"sublabel": "GitHub \u00b7 GitLab \u00b7 others",
|
||||
"pos": [
|
||||
60,
|
||||
70
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src-tauri/src/integrations.rs",
|
||||
"line": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai-client",
|
||||
"type": "backend",
|
||||
"label": "AI assistance",
|
||||
"sublabel": "commit_ai crate",
|
||||
"pos": [
|
||||
590,
|
||||
390
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src-tauri/crates/commit_ai/src/lib.rs",
|
||||
"line": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai-endpoint",
|
||||
"type": "external",
|
||||
"label": "Model endpoint",
|
||||
"sublabel": "OpenAI \u00b7 Anthropic \u00b7 custom",
|
||||
"pos": [
|
||||
855,
|
||||
390
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src-tauri/crates/commit_ai/src/cloud.rs",
|
||||
"line": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "keychain",
|
||||
"type": "security",
|
||||
"label": "OS keychain",
|
||||
"sublabel": "Credentials / API keys",
|
||||
"pos": [
|
||||
60,
|
||||
390
|
||||
],
|
||||
"size": [
|
||||
180,
|
||||
70
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"path": "src-tauri/src/git.rs",
|
||||
"line": 3033
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"boundaries": [
|
||||
{
|
||||
"kind": "security-group",
|
||||
"label": "WebView",
|
||||
"wraps": [
|
||||
"workspace"
|
||||
],
|
||||
"pad": 25
|
||||
},
|
||||
{
|
||||
"kind": "security-group",
|
||||
"label": "Native application process",
|
||||
"wraps": [
|
||||
"dispatch",
|
||||
"git-service",
|
||||
"hosting-client",
|
||||
"ai-client"
|
||||
],
|
||||
"pad": 28
|
||||
},
|
||||
{
|
||||
"kind": "region",
|
||||
"label": "OS processes & filesystem",
|
||||
"wraps": [
|
||||
"git-process",
|
||||
"repository"
|
||||
],
|
||||
"pad": 28
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
{
|
||||
"id": "ui-invoke",
|
||||
"from": "workspace",
|
||||
"to": "dispatch",
|
||||
"label": "IPC invoke",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "dispatch-git",
|
||||
"from": "dispatch",
|
||||
"to": "git-service",
|
||||
"label": "Rust call",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "spawn-git",
|
||||
"from": "git-service",
|
||||
"to": "git-process",
|
||||
"label": "spawn",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "git-files",
|
||||
"from": "git-process",
|
||||
"to": "repository",
|
||||
"label": "read / write",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "dispatch-hosting",
|
||||
"from": "dispatch",
|
||||
"to": "hosting-client",
|
||||
"label": "Rust call",
|
||||
"variant": "default",
|
||||
"fromSide": "top",
|
||||
"toSide": "bottom"
|
||||
},
|
||||
{
|
||||
"id": "hosting-api",
|
||||
"from": "hosting-client",
|
||||
"to": "host-services",
|
||||
"label": "HTTPS API",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "git-ai",
|
||||
"from": "git-service",
|
||||
"to": "ai-client",
|
||||
"label": "diff + notes",
|
||||
"variant": "default",
|
||||
"fromSide": "bottom",
|
||||
"toSide": "top",
|
||||
"labelAt": [
|
||||
680,
|
||||
304
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai-http",
|
||||
"from": "ai-client",
|
||||
"to": "ai-endpoint",
|
||||
"label": "HTTP(S)",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "command-secrets",
|
||||
"from": "dispatch",
|
||||
"to": "keychain",
|
||||
"label": "keyring API",
|
||||
"variant": "security",
|
||||
"fromSide": "bottom",
|
||||
"toSide": "right",
|
||||
"labelAt": [
|
||||
300,
|
||||
425
|
||||
]
|
||||
}
|
||||
],
|
||||
"cards": [
|
||||
{
|
||||
"dot": "cyan",
|
||||
"title": "Primary path",
|
||||
"items": [
|
||||
"UI invokes registered commands; Rust runs Git off the async executor. Results return to the UI.",
|
||||
"Git LFS handles large objects. Git uses HTTPS / SSH for fetch, pull, push and clone."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "violet",
|
||||
"title": "Supporting runtime",
|
||||
"items": [
|
||||
"Hosting: GitHub, GitLab, Azure DevOps and Gitea; REST calls use reqwest.",
|
||||
"AI: diffs / notes and API keys are passed to the selected provider through native commands.",
|
||||
"Workspace preferences live in WebView localStorage."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "rose",
|
||||
"title": "Trust & external services",
|
||||
"items": [
|
||||
"IPC crosses into native filesystem and process privileges; CSP is currently null.",
|
||||
"OS keychain also stores hosting credentials. Network endpoints may be cloud or self-hosted.",
|
||||
"Aptabase telemetry and the Windows/macOS update CDN are secondary dependencies; Linux uses package updates."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user