Architecture
September 4, 2026 · View on GitHub
File Structure
package/ # Unity package (UPM)
├── Editor/
│ ├── HarnessBridge.cs # Main coordinator
│ ├── HarnessBridge.asmdef # Assembly definition
│ ├── Commands/
│ │ ├── ICommand.cs # Command interface
│ │ ├── RunTestsCommand.cs # Test execution
│ │ ├── CompileCommand.cs # Script compilation
│ │ ├── RefreshCommand.cs # Asset refresh
│ │ ├── GetStatusCommand.cs # Editor status
│ │ ├── GetConsoleLogsCommand.cs # Console logs
│ │ ├── BuildCommand.cs # Build (direct or custom method)
│ │ ├── AssetAnalysisUtil.cs # Shared path/bool/int helpers
│ │ ├── GetDependenciesCommand.cs # Forward dependencies
│ │ ├── FindReferencesCommand.cs # Reverse references
│ │ ├── FindUnusedAssetsCommand.cs # Unreachable assets
│ │ ├── TracePathCommand.cs # Shortest dependency path (BFS)
│ │ ├── SearchAssetsCommand.cs # Asset search
│ │ ├── GetAssetInfoCommand.cs # Single-asset identity/metrics
│ │ ├── ManagePrefabsCommand.cs # Prefab metadata/hierarchy/create
│ │ └── DumpAssetCommand.cs # Inspector-visible field dump (prefab/asset/scene)
│ └── Models/
│ ├── CommandRequest.cs # Request DTO
│ └── CommandResponse.cs # Response DTO
└── Tests/ # Unity tests
skill/ # DeepSeek Harness skill (Python)
├── src/
│ └── harness_unity_bridge/
│ └── cli.py # Deterministic command script
├── references/
│ ├── COMMANDS.md # Complete command specification
│ └── EXTENDING.md # Guide for adding custom commands
└── SKILL.md # Skill documentation
Command Pattern
All commands implement ICommand:
public interface ICommand {
void Execute(
CommandRequest request,
Action<CommandResponse> onProgress,
Action<CommandResponse> onComplete
);
}
This enables:
- Progress reporting during execution
- Consistent error handling
- Easy extension with new commands
Adding New Commands
See skill/references/EXTENDING.md for a complete guide on adding custom commands.