---
name: workbench-workflow
description: Arma Reforger Workbench workflow, testing guidelines, and debugging patterns
version: 1.0.0
---
# Workbench Workflow
Quick reference for working with Arma Reforger Workbench. For detailed patterns, see resource files below.
---
## When to Use This Skill
Use this skill when:
- Testing changes in Workbench
- Debugging compile errors
- Understanding Workbench limitations
- Planning manual testing procedures
- Working with prefabs, configs, or layouts
- Troubleshooting runtime issues
---
## Quick Reference
### Testing Guidelines
No automated build or test system available. All testing manual via Workbench. User compiles in Workbench and reports errors. Be specific about what to test and how.
**See:** `testing-guidelines.md` for manual test procedures
### Compile Errors
EnforceScript has specific error patterns. Common issues: missing semicolons, ternary operators, type mismatches, missing strong refs. Errors show in Workbench console.
**See:** `compile-errors.md` for common errors and fixes
### Debug Patterns
Use Print() for debug output, check Workbench console logs. No interactive debugger. Add debug prints strategically to trace execution and inspect values.
**See:** `debug-patterns.md` for debugging techniques
### Workbench Tips
Prefabs edited in Workbench, layouts in UI editor, configs in text editor. Save often. Workbench can crash. Always test changes in play mode.
**See:** `workbench-tips.md` for Workbench best practices
---
## Critical Constraints
- ❌ **No automated builds** - User compiles in Workbench
- ❌ **No unit tests** - Manual play-testing only
- ❌ **No interactive debugger** - Use Print() for debug output
- ✅ **Be specific** - Tell user exactly what to test
- ✅ **Test incrementally** - Small changes, test often
- ⚠️ **Workbench can crash** - Save frequently
- ✅ **Check console** - Errors show in Workbench console
- ⚠️ **Play mode testing** - Always test in play mode, not just edit mode
---
## Workflow Pattern
### Development Cycle
1. **Write code** in Claude Code
2. **User opens Workbench** and compiles
3. **User reports** compile errors
4. **Fix errors** based on report
5. **Repeat** until compiles
6. **User tests** in play mode
7. **User reports** bugs/issues
8. **Fix issues**
9. **Repeat** until working
### Testing Cycle
1. **Define test procedure** - Specific steps to test feature
2. **User follows procedure** in Workbench play mode
3. **User reports results** - What worked, what didn't
4. **Fix issues** if needed
5. **Retest** until feature works
---
## Common Workflow
### After Code Changes
Tell user:
```
Please test in Workbench:
1. Open Overthrow.Arma4 in Workbench
2. Let it compile (check console for errors)
3. If compile errors, report them to me
4. If compiles: Enter play mode
5. Test: [specific steps]
6. Report: [specific things to check]
```
### After Compile Errors
Ask user:
```
Please copy the exact error messages from the Workbench console
and send them to me. I'll fix the compile errors.
```
### After Runtime Errors
Ask user:
```
Please:
1. Check the Workbench console for any error messages
2. Try: [specific test step]
3. Report: What happened vs what should happen
```
---
## Resource Files
Detailed documentation organized by concern:
1. **testing-guidelines.md** - Manual test procedures for different component types
2. **compile-errors.md** - Common EnforceScript compile errors and solutions
3. **debug-patterns.md** - Using Print(), console logs, debugging techniques
4. **workbench-tips.md** - Working with prefabs, configs, layouts, best practices
---
## Key Differences from Other Dev Environments
- **No npm/build scripts** - Workbench handles compilation
- **No test framework** - Manual testing only
- **No debugger** - Print-based debugging
- **No hot reload** - Restart play mode to test changes
- **No CI/CD** - Local Workbench testing only
- **User is QA** - User tests everything manually
---
**Pattern:** Start here for quick reference, dive into resource files for detailed procedures.