This directory contains comprehensive documentation for the Soar VS Code Extension.
- README.md - Main user guide
- Features overview
- Installation instructions
- Usage examples
- Commands reference
- Configuration options
-
ARCHITECTURE.md - System design and implementation
- Component overview
- Data flow diagrams
- Design patterns
- Critical implementation details
- Performance considerations
-
FEATURES.md - Feature implementation guide
- Complete feature list
- Implementation details
- Extension points
- Testing guidelines
- Common modifications
-
QUICKREF.md - Quick reference card
- Common tasks
- File locations
- Key concepts
- Troubleshooting
- Commands cheat sheet
-
VISUALSOAR-INTEGRATION.md - VisualSoar compatibility
- Project schema (version 6)
- Type definitions
- Bidirectional compatibility
- File format details
-
DATAMAP-CRUD.md - Datamap operations
- Add/edit/delete attributes
- Usage examples
- Best practices
- Troubleshooting
-
DATAMAP-TREE-VIEW.md - Tree view details
- Display format
- Navigation
- Context menus
- REFERENCES.md - External resources
- API documentation links
- Code examples
- Community resources
- Tools and libraries
Use the extension → Start with README.md
Understand how it works → Read ARCHITECTURE.md
Modify or extend it → Check FEATURES.md
Find something quickly → Use QUICKREF.md
Work with datamaps → See DATAMAP-CRUD.md
Ensure VisualSoar compatibility → Follow VISUALSOAR-INTEGRATION.md
- Total Code: ~4,400 lines of TypeScript
- Components: 5 main systems (Extension, LSP, Datamap, Layout, Client)
- Commands: 18 registered commands
- Tree Views: 2 (Datamap, Layout)
- VisualSoar Schema: Version 6 (compatible with 9.6.4)
Extension Architecture
├── Extension Host (extension.ts)
│ ├── Commands & Event Handlers
│ ├── View Providers
│ └── Validation Coordinator
│
├── Language Server (server/)
│ ├── Parser (accurate position tracking)
│ ├── Project Loader
│ └── Type Definitions
│
├── Datamap System (datamap/)
│ ├── Tree Provider (with cycle detection)
│ ├── CRUD Operations
│ └── Validator (attribute checking)
│
└── Layout System (layout/)
├── Tree Provider (file path resolution)
├── CRUD Operations
├── Project Sync
└── Templates
✅ Syntax highlighting with TextMate grammar ✅ Real-time validation against datamap ✅ Visual datamap editor with CRUD operations ✅ Project structure tree with navigation ✅ VisualSoar 9.6.4 compatibility ✅ Orphaned file detection and import ✅ Multiple datamap views (root and substates) ✅ Accurate error positioning ✅ Cycle detection in datamap
- Start: Read ARCHITECTURE.md for system overview
- Understand: Review FEATURES.md for implementation patterns
- Explore: Check QUICKREF.md for quick lookups
- Reference: Use VISUALSOAR-INTEGRATION.md for schema details
- Project Context: Shared state object with project data and indices
- Tree View Pattern: How tree providers work with custom items
- Position Tracking: Parser's method for accurate diagnostics
- Cycle Detection: Preventing infinite loops in datamap
- Path Resolution: Building correct file paths for nested structures
| Issue | Document | Section |
|---|---|---|
| Files won't open | ARCHITECTURE.md | File Path Resolution |
| Wrong error location | ARCHITECTURE.md | Parser Position Calculation |
| Datamap not loading | QUICKREF.md | Troubleshooting |
| Infinite expansion | ARCHITECTURE.md | Datamap Cycle Prevention |
# Setup
npm install
npm run compile
# Development
npm run watch # Auto-compile on changes
Press F5 # Launch Extension Development Host
# Testing
npm test # Run test suite
# Packaging
npm run package # Create .vsix fileWhen updating documentation:
- README.md: User-facing features and instructions
- ARCHITECTURE.md: System design and implementation details
- FEATURES.md: Implementation guide for developers
- QUICKREF.md: Quick lookups and common tasks
Keep all documentation in sync when adding features or making changes.
Date: December 2, 2025 Version: 0.1.0 Schema Compatibility: VisualSoar 6 (9.6.4)
All documentation is written to be accessible to both human developers and AI coding agents.