How aditya-180404/jockey works
Jockey is a local-first digital-forensics platform: investigators author .jy investigations in the web IDE or CLI, validate and compile them, run tools to collect evidence, and verify and review results. The graph preserves the documented compiler stages, tool repository, authentication, and evidence workflow. Compiler-service implementation and several management routes were only partially sampled, so uncertain links are omitted; the worker’s Redis/S3/Postgres responsibilities come from its source comments and sampled code.
Main entry points: src/main.rs REST API · api.ts API client · src/main.rs CLI · src/main.rs Compiler worker
Components 22
Investigator experience
- Web application
apps/web/src/App.tsx - Web IDE
apps/web/src/pages/WebIDE.tsx - Evidence views
apps/web/src/pages/Evidence.tsx - Tool repository UI
apps/web/src/pages/Repository.tsx - Auth context
apps/web/src/contexts/AuthContext.tsx - API client
apps/web/src/services/api.ts
Platform API
- REST API
apps/api/src/main.rs - Compiler service
apps/api/src/compiler_service.rs - Auth and tools
apps/api/src/tools_service.rs
Language compiler
- Lexer
compiler/lexer/src/lib.rs - Parser and AST
compiler/parser/src/lib.rs - Semantic analysis
compiler/semantic/src/lib.rs - Intermediate representations
compiler/ir/src/lib.rs - Code generation
compiler/backend/src/lib.rs - CLI
compiler/cli/src/main.rs
Forensic runtime
- Runtime facade
runtime/src/lib.rs - Forensic collectors
runtime/process/src/lib.rs - Evidence integrity
runtime/evidence/src/lib.rs
Build and artifacts
- Compiler worker
services/compiler-worker/src/main.rs - Build queue
- Artifact storage
Other components
- Investigator
Connections 24
- Investigator → Web application: uses
- Web application → Web IDE: opens
- Web IDE → API client: sends requests
- Auth context → API client: sends auth requests
- Tool repository UI → API client: loads tools
- Evidence views → API client: requests evidence
- API client → REST API: calls REST API
- REST API → Compiler service: routes compiler calls
- REST API → Auth and tools: routes auth and tools
- Compiler service → CLI: runs compiler
- CLI → Lexer: tokenizes
- Lexer → Parser and AST: feeds tokens
- Parser and AST → Semantic analysis: passes syntax
- Semantic analysis → Intermediate representations: produces IR
- Intermediate representations → Code generation: generates code
- CLI → Runtime facade: runs investigation
- Runtime facade → Forensic collectors: dispatches collection
- Forensic collectors → Evidence integrity: records evidence
- Evidence integrity → Compiler service: verifies evidence
- Tool repository UI → REST API: lists and downloads
- REST API → Build queue: submits builds
- Build queue → Compiler worker: dispatches jobs
- Compiler worker → Artifact storage: stores artifacts
- Compiler worker → Build queue: streams build logs