How fugui/code-shield works
Code-Shield is an AI-assisted repository scanning and defect-management service with a React console. Users configure scan policies or trigger work; queued jobs are dispatched through task execution, analyze repositories with a selected engine and LLM CLI, then calibrate and track findings, reconcile report history, and expose reports and exports. Cron scheduling, throttling, issue tracking, feedback governance, and notifications are major supporting capabilities. README documents several integrations and subsystems whose detailed call paths were not sampled; those links are shown only where documented.
Main entry points: runner.go Task Runner · services.go Engine Adapter · main.go HTTP API · engine.go Scan Engines
Components 26
Web Console
- React Console
frontend/src/App.tsx - Scan & Campaign UI
frontend/src/pages/ScanManagement.tsx - Report Viewer
frontend/src/components/report/ReportViewer.tsx
Task Control
- HTTP API
main.go - Task Handlers
handlers/task.go - Cron Scheduling
cron_jobs/jobs.go - Persistent Queue
services/queue/queue.go - Worker Dispatcher
services/dispatcher/dispatcher.go - Task Runner
services/runner/runner.go
Scanning
- Engine Adapter
services/services.go - Scan Engines
services/engines/engine.go - Single Scan
services/engines/single/engine.go - Chunked Scan
services/engines/chunked/engine.go - Debate Scan
services/engines/debate/engine.go - LLM Invokers
services/invoker/invoker.go
Defect Lifecycle
- Finding Governance
services/governance/calibrator.go - Defect Fingerprints
services/defects/diff_engine.go - Scan Reconciliation
services/reconciliation/engine.go - Report Service & Export
services/reports/report_service.go
Persistence & Delivery
- Domain Models
models/models.go - Report API
handlers/report_handler.go - Issue Tracking API
handlers/issue.go
Other components
- Engineer / Admin
- LLM CLI Tools
- PostgreSQL
- Email Notifier
Connections 33
- Engineer / Admin → React Console: uses
- React Console → Scan & Campaign UI: routes to
- React Console → Report Viewer: routes to
- Scan & Campaign UI → HTTP API: requests scans
- Report Viewer → HTTP API: requests reports
- HTTP API → Task Handlers: dispatches
- Task Handlers → Persistent Queue: enqueues tasks
- Cron Scheduling → Persistent Queue: enqueues scheduled work
- Persistent Queue → Worker Dispatcher: claims tasks
- Worker Dispatcher → Task Runner: dispatches
- Task Runner → Engine Adapter: runs analysis
- Engine Adapter → Scan Engines: selects engine
- Scan Engines → Single Scan: selects single mode
- Scan Engines → Chunked Scan: selects chunked mode
- Scan Engines → Debate Scan: selects debate mode
- Single Scan → LLM Invokers: invokes analysis
- Chunked Scan → LLM Invokers: invokes analysis
- Debate Scan → LLM Invokers: invokes stages
- LLM Invokers → LLM CLI Tools: runs CLI
- Engine Adapter → Finding Governance: calibrates findings
- Engine Adapter → Defect Fingerprints: enriches findings
- Engine Adapter → Task Runner: returns results
- Task Runner → Domain Models: persists task state
- Defect Fingerprints → PostgreSQL: reads/writes records
- Scan Reconciliation → PostgreSQL: stores reconciliation
- Task Runner → Scan Reconciliation: reconciles scans
- Report API → Report Service & Export: requests report data
- Report Service & Export → PostgreSQL: reads report records
- HTTP API → Report API: dispatches
- HTTP API → Issue Tracking API: dispatches
- Issue Tracking API → PostgreSQL: reads/writes issues
- Report API → React Console: returns report data
- Task Runner → Email Notifier: sends notifications