- Python 3.10+
- Node.js 18+ for the frontend
- PowerShell on Windows is the primary local environment
Backend commands should set:
$env:PYTHONPATH='src'$env:PYTHONPATH='src'; python experiments/run_demo.py --config config.example.yamlEquivalent CLI wrapper:
$env:PYTHONPATH='src'; python -m fileguard demo --config config.example.yamlThe demo only writes under experiments/sandbox/. It generates normal,
sensitive-path, high-entropy, batch, escalation, incremental snapshot, dry-run
auto-restore, API sample, and HTML report artifacts.
experiments/sandbox/outputs/demo_events.jsonlexperiments/sandbox/outputs/demo_alerts.jsonexperiments/sandbox/outputs/demo_report.htmlexperiments/sandbox/outputs/demo_api_status.jsonexperiments/sandbox/outputs/demo_api_events.jsonexperiments/sandbox/outputs/demo_api_alerts.jsonexperiments/sandbox/outputs/demo_api_analyzers.jsonexperiments/sandbox/outputs/demo_api_snapshots.jsonexperiments/sandbox/outputs/demo_api_reports.jsonexperiments/sandbox/outputs/demo_summary.jsonexperiments/sandbox/outputs/artifact_index.md
$env:PYTHONPATH='src'; python -m fileguard snapshot --config config.example.yaml
$env:PYTHONPATH='src'; python -m fileguard monitor --config config.example.yaml --verbose --serve-api
$env:PYTHONPATH='src'; python -m fileguard report --config config.example.yamlAPI checks:
$env:PYTHONPATH='src'; python -c "from fileguard.api.server import app; print(app.title, len(app.routes))"SSE check:
Invoke-WebRequest http://127.0.0.1:8000/api/stream?once=trueReport trigger check:
Invoke-WebRequest -Method POST http://127.0.0.1:8000/api/reportscd frontend
npm install
npm run typecheck
npm run build
npm run devSet VITE_API_BASE_URL=http://127.0.0.1:8000 when the Vite dev server should
talk to a backend on a different origin. If the API is unavailable, the console
falls back to explicit Demo data mode and shows a banner.