Files
Charon/.vscode/tasks.json
GitHub Actions 05c2045f06 chore: reorganize repository structure
- Move docker-compose files to .docker/compose/
- Move docker-entrypoint.sh to .docker/
- Move DOCKER.md to .docker/README.md
- Move 16 implementation docs to docs/implementation/
- Delete test artifacts (block_test.txt, caddy_*.json)
- Update all references in Dockerfile, Makefile, tasks, scripts
- Add .github/instructions/structure.instructions.md for enforcement
- Update CHANGELOG.md

Root level reduced from 81 items to ~35 visible items.
2025-12-21 04:57:31 +00:00

275 lines
9.4 KiB
JSON

{
"version": "2.0.0",
"tasks": [
{
"label": "Build & Run: Local Docker Image",
"type": "shell",
"command": "docker build -t charon:local . && docker compose -f docker-compose.override.yml up -d && echo 'Charon running at http://localhost:8080'",
"group": "build",
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "new"
}
},
{
"label": "Build & Run: Local Docker Image No-Cache",
"type": "shell",
"command": "docker build --no-cache -t charon:local . && docker compose -f docker-compose.override.yml up -d && echo 'Charon running at http://localhost:8080'",
"group": "build",
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "new"
}
},
{
"label": "Build: Backend",
"type": "shell",
"command": "cd backend && go build ./...",
"group": "build",
"problemMatcher": ["$go"]
},
{
"label": "Build: Frontend",
"type": "shell",
"command": "cd frontend && npm run build",
"group": "build",
"problemMatcher": []
},
{
"label": "Build: All",
"type": "shell",
"dependsOn": ["Build: Backend", "Build: Frontend"],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
},
{
"label": "Test: Backend Unit Tests",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh test-backend-unit",
"group": "test",
"problemMatcher": ["$go"]
},
{
"label": "Test: Backend with Coverage",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh test-backend-coverage",
"group": "test",
"problemMatcher": []
},
{
"label": "Test: Frontend",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh test-frontend-unit",
"group": "test",
"problemMatcher": []
},
{
"label": "Test: Frontend with Coverage",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh test-frontend-coverage",
"group": "test",
"problemMatcher": []
},
{
"label": "Lint: Pre-commit (All Files)",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh qa-precommit-all",
"group": "test",
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "shared"
}
},
{
"label": "Lint: Go Vet",
"type": "shell",
"command": "cd backend && go vet ./...",
"group": "test",
"problemMatcher": ["$go"]
},
{
"label": "Lint: GolangCI-Lint (Docker)",
"type": "shell",
"command": "cd backend && docker run --rm -v $(pwd):/app:ro -w /app golangci/golangci-lint:latest golangci-lint run -v",
"group": "test",
"problemMatcher": []
},
{
"label": "Lint: Frontend",
"type": "shell",
"command": "cd frontend && npm run lint",
"group": "test",
"problemMatcher": []
},
{
"label": "Lint: Frontend (Fix)",
"type": "shell",
"command": "cd frontend && npm run lint -- --fix",
"group": "test",
"problemMatcher": []
},
{
"label": "Lint: TypeScript Check",
"type": "shell",
"command": "cd frontend && npm run type-check",
"group": "test",
"problemMatcher": []
},
{
"label": "Lint: Markdownlint",
"type": "shell",
"command": "markdownlint '**/*.md' --ignore node_modules --ignore frontend/node_modules --ignore .venv --ignore test-results --ignore codeql-db --ignore codeql-agent-results",
"group": "test",
"problemMatcher": []
},
{
"label": "Lint: Markdownlint (Fix)",
"type": "shell",
"command": "markdownlint '**/*.md' --fix --ignore node_modules --ignore frontend/node_modules --ignore .venv --ignore test-results --ignore codeql-db --ignore codeql-agent-results",
"group": "test",
"problemMatcher": []
},
{
"label": "Lint: Hadolint Dockerfile",
"type": "shell",
"command": "docker run --rm -i hadolint/hadolint < Dockerfile",
"group": "test",
"problemMatcher": []
},
{
"label": "Security: Trivy Scan",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh security-scan-trivy",
"group": "test",
"problemMatcher": []
},
{
"label": "Security: Go Vulnerability Check",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh security-scan-go-vuln",
"group": "test",
"problemMatcher": []
},
{
"label": "Docker: Start Dev Environment",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh docker-start-dev",
"group": "none",
"problemMatcher": []
},
{
"label": "Docker: Stop Dev Environment",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh docker-stop-dev",
"group": "none",
"problemMatcher": []
},
{
"label": "Docker: Start Local Environment",
"type": "shell",
"command": "docker compose -f .docker/compose/docker-compose.local.yml up -d",
"group": "none",
"problemMatcher": []
},
{
"label": "Docker: Stop Local Environment",
"type": "shell",
"command": "docker compose -f .docker/compose/docker-compose.local.yml down",
"group": "none",
"problemMatcher": []
},
{
"label": "Docker: View Logs",
"type": "shell",
"command": "docker compose -f .docker/compose/docker-compose.yml logs -f",
"group": "none",
"problemMatcher": [],
"isBackground": true
},
{
"label": "Docker: Prune Unused Resources",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh docker-prune",
"group": "none",
"problemMatcher": []
},
{
"label": "Integration: Run All",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh integration-test-all",
"group": "test",
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "new"
}
},
{
"label": "Integration: Coraza WAF",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh integration-test-coraza",
"group": "test",
"problemMatcher": []
},
{
"label": "Integration: CrowdSec",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh integration-test-crowdsec",
"group": "test",
"problemMatcher": []
},
{
"label": "Integration: CrowdSec Decisions",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh integration-test-crowdsec-decisions",
"group": "test",
"problemMatcher": []
},
{
"label": "Integration: CrowdSec Startup",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh integration-test-crowdsec-startup",
"group": "test",
"problemMatcher": []
},
{
"label": "Utility: Check Version Match Tag",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh utility-version-check",
"group": "none",
"problemMatcher": []
},
{
"label": "Utility: Clear Go Cache",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh utility-clear-go-cache",
"group": "none",
"problemMatcher": []
},
{
"label": "Utility: Bump Beta Version",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh utility-bump-beta",
"group": "none",
"problemMatcher": []
},
{
"label": "Utility: Database Recovery",
"type": "shell",
"command": ".github/skills/scripts/skill-runner.sh utility-db-recovery",
"group": "none",
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "new"
}
}
]
}