How gagan7350/bytesized works
SiliconBob is an IDE copilot for Verilog/SystemVerilog RTL: developers invoke analysis from the editor, receive lint diagnostics and an optimized-code diff, and can initiate a collaboration-room workflow. The sampled backend implements regex-based RTL checks and fixes, rather than the README’s described AST parser; its room manager stores room text in memory and broadcasts updates. The extension currently constructs and displays a WebSocket URL but does not open a socket, so live collaboration wiring from the extension is not established by the sampled code.
Main entry points: extension.ts Extension commands · main.py Optimization API · package.json Backend URL setting
Components 12
IDE Copilot
- VS Code / Bob editor
- Extension commands
extension/src/extension.ts - Editor diagnostics
extension/src/extension.ts - Optimized RTL diff
extension/src/extension.ts - Backend URL setting
extension/package.json
RTL Analysis
- Optimization API
backend/main.py - RTL lint and fixes
backend/main.py
Collaboration
- WebSocket endpoint
backend/main.py - Room manager
backend/main.py - In-memory room documents
backend/main.py
Other components
- Hardware engineer
- Room participants
Connections 14
- Hardware engineer → VS Code / Bob editor: opens RTL
- VS Code / Bob editor → Extension commands: invokes command
- Extension commands → Backend URL setting: reads URL
- Extension commands → Optimization API: posts Verilog
- Optimization API → RTL lint and fixes: runs checks
- RTL lint and fixes → Optimization API: returns issues and fixes
- Optimization API → Extension commands: returns results
- Extension commands → Editor diagnostics: sets squiggles
- Extension commands → Optimized RTL diff: opens comparison
- Hardware engineer → Extension commands: requests room
- Room participants → WebSocket endpoint: connect and send
- WebSocket endpoint → Room manager: dispatches messages
- Room manager → In-memory room documents: reads and writes
- Room manager → Room participants: broadcasts updates