feat: Archivum skeleton — Go/GraphQL backend + Vue 3 PWA frontend
Full project scaffold: multi-stage Dockerfile (ARM64/AMD64), AsciiDoc↔TipTap bridge, Setup Wizard, CodeMirror source editor, Git-backed storage layer, LDAP+JWT auth skeleton, Tailwind mobile-first layout, and VS Code build/push tasks targeting registry at 192.168.0.19:5000. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
157
.vscode/tasks.json
vendored
Normal file
157
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,157 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
|
||||
// ── Docker: Build ──────────────────────────────────────────────────────────
|
||||
{
|
||||
"label": "Docker: Build (Windows)",
|
||||
"type": "shell",
|
||||
"windows": {
|
||||
"command": "docker build -t 192.168.0.19:5000/archivum:latest -f docker/Dockerfile ."
|
||||
},
|
||||
"group": "build",
|
||||
"presentation": { "reveal": "always", "panel": "shared" },
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "Docker: Build (Linux)",
|
||||
"type": "shell",
|
||||
"linux": {
|
||||
"command": "docker build -t 192.168.0.19:5000/archivum:latest -f docker/Dockerfile ."
|
||||
},
|
||||
"group": "build",
|
||||
"presentation": { "reveal": "always", "panel": "shared" },
|
||||
"problemMatcher": []
|
||||
},
|
||||
|
||||
// ── Docker: Push ───────────────────────────────────────────────────────────
|
||||
{
|
||||
"label": "Docker: Push (Windows)",
|
||||
"type": "shell",
|
||||
"windows": {
|
||||
"command": "docker push 192.168.0.19:5000/archivum:latest"
|
||||
},
|
||||
"group": "build",
|
||||
"presentation": { "reveal": "always", "panel": "shared" },
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "Docker: Push (Linux)",
|
||||
"type": "shell",
|
||||
"linux": {
|
||||
"command": "docker push 192.168.0.19:5000/archivum:latest"
|
||||
},
|
||||
"group": "build",
|
||||
"presentation": { "reveal": "always", "panel": "shared" },
|
||||
"problemMatcher": []
|
||||
},
|
||||
|
||||
// ── Docker: Build & Push ───────────────────────────────────────────────────
|
||||
{
|
||||
"label": "Docker: Build & Push (Windows)",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": ["Docker: Build (Windows)", "Docker: Push (Windows)"],
|
||||
"group": { "kind": "build", "isDefault": true },
|
||||
"presentation": { "reveal": "always", "panel": "shared" },
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "Docker: Build & Push (Linux)",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": ["Docker: Build (Linux)", "Docker: Push (Linux)"],
|
||||
"group": "build",
|
||||
"presentation": { "reveal": "always", "panel": "shared" },
|
||||
"problemMatcher": []
|
||||
},
|
||||
|
||||
// ── Docker: Multi-arch Build & Push (buildx) ───────────────────────────────
|
||||
{
|
||||
"label": "Docker: Multi-arch Build & Push (Windows)",
|
||||
"type": "shell",
|
||||
"windows": {
|
||||
"command": "docker buildx build --platform linux/amd64,linux/arm64 -t 192.168.0.19:5000/archivum:latest -f docker/Dockerfile --push ."
|
||||
},
|
||||
"group": "build",
|
||||
"presentation": { "reveal": "always", "panel": "shared" },
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "Docker: Multi-arch Build & Push (Linux)",
|
||||
"type": "shell",
|
||||
"linux": {
|
||||
"command": "docker buildx build --platform linux/amd64,linux/arm64 -t 192.168.0.19:5000/archivum:latest -f docker/Dockerfile --push ."
|
||||
},
|
||||
"group": "build",
|
||||
"presentation": { "reveal": "always", "panel": "shared" },
|
||||
"problemMatcher": []
|
||||
},
|
||||
|
||||
// ── Backend: Run ───────────────────────────────────────────────────────────
|
||||
{
|
||||
"label": "Backend: Run",
|
||||
"type": "shell",
|
||||
"windows": {
|
||||
"command": "go run .\\cmd\\server",
|
||||
"options": { "cwd": "${workspaceFolder}\\backend" }
|
||||
},
|
||||
"linux": {
|
||||
"command": "go run ./cmd/server",
|
||||
"options": { "cwd": "${workspaceFolder}/backend" }
|
||||
},
|
||||
"group": "test",
|
||||
"isBackground": true,
|
||||
"presentation": { "reveal": "always", "panel": "dedicated" },
|
||||
"problemMatcher": {
|
||||
"pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(.*)", "file": 1, "line": 2, "column": 3, "message": 4 },
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": "^Archivum listening",
|
||||
"endsPattern": "^Archivum listening"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// ── Frontend: Dev ──────────────────────────────────────────────────────────
|
||||
{
|
||||
"label": "Frontend: Dev",
|
||||
"type": "shell",
|
||||
"windows": {
|
||||
"command": "npm run dev",
|
||||
"options": { "cwd": "${workspaceFolder}\\frontend" }
|
||||
},
|
||||
"linux": {
|
||||
"command": "npm run dev",
|
||||
"options": { "cwd": "${workspaceFolder}/frontend" }
|
||||
},
|
||||
"group": "test",
|
||||
"isBackground": true,
|
||||
"presentation": { "reveal": "always", "panel": "dedicated" },
|
||||
"problemMatcher": {
|
||||
"pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(.*)", "file": 1, "line": 2, "column": 3, "message": 4 },
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": "VITE",
|
||||
"endsPattern": "Local:"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// ── Frontend: Build ────────────────────────────────────────────────────────
|
||||
{
|
||||
"label": "Frontend: Build",
|
||||
"type": "shell",
|
||||
"windows": {
|
||||
"command": "npm run build",
|
||||
"options": { "cwd": "${workspaceFolder}\\frontend" }
|
||||
},
|
||||
"linux": {
|
||||
"command": "npm run build",
|
||||
"options": { "cwd": "${workspaceFolder}/frontend" }
|
||||
},
|
||||
"group": "build",
|
||||
"presentation": { "reveal": "always", "panel": "shared" },
|
||||
"problemMatcher": ["$tsc"]
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user