The Complete Salesforce Commerce Cloud Development Toolkit
"Aarna" (आर्ना) - meaning "wave" in Sanskrit, creating waves of productivity in SFCC development
A powerful VS Code extension for Salesforce Commerce Cloud (SFCC) development with intelligent code generation, full debugging support, ISML completion, auto-imports, and real-time log monitoring.
Quick Start
- Install the extension
- Open an SFCC project (with
dw.json or cartridge structure)
- Start developing with enhanced productivity features
No external setup required - everything works out of the box. No need for Prophet or other extensions!
Features
Code Generation
Generate production-ready SFCC code:
- Controllers: SFRA controllers with proper middleware patterns
- Models: Decorator-pattern models for data transformation
- ISML Templates: Templates with proper syntax and includes
- Services: HTTP/SOAP service definitions with error handling
- Job Steps: Chunk-oriented job implementations
- Hooks: OCAPI/SCAPI hook implementations
Smart Code Assistance
- Inline Completions: Context-aware code suggestions as you type
- Chat Interface: Ask questions about SFCC APIs and patterns
- Project Intelligence: Understands your cartridge structure and coding patterns
Enhanced Debugging
- Smart Breakpoints: SFCC-specific conditional breakpoints
- Error Analysis: Intelligent error diagnosis and fix suggestions
- Log Monitor: Real-time sandbox log viewing with error detection
- Stack Trace Explanation: Understand complex call stacks
- Watch Suggestions: Smart watch expression recommendations
Project Management
- Cartridge Detection: Automatic project structure recognition
- Code Indexing: Index your codebase for better suggestions
- Custom Rules: Define team coding standards in
.sfcc-ai-rules.md
Commands
Code Generation
| Command |
Description |
SFCC: Generate Controller |
Create SFRA controller |
SFCC: Generate Model |
Create model with decorators |
SFCC: Generate ISML |
Create ISML template |
SFCC: Generate Service |
Create service definition |
SFCC: Generate Job |
Create job step |
SFCC: Generate Hook |
Create hook implementation |
Debugging
| Command |
Description |
SFCC: Start Debugging |
Attach to sandbox |
SFCC: Add Smart Breakpoint |
Add conditional breakpoint |
SFCC: Analyze Error |
Diagnose selected error |
SFCC: Start Log Monitor |
Monitor sandbox logs |
SFCC: Explain Stack Trace |
Understand call stack |
SFCC: Suggest Watch Expressions |
Get watch recommendations |
Configuration
| Command |
Description |
SFCC: Open Chat |
Open chat panel |
SFCC: Index Project |
Index codebase |
SFCC: Update API Documentation |
Download full SFCC API documentation |
SFCC: Check Documentation Version |
Check for API doc updates |
SFCC: Configure Provider |
Change settings |
SFCC: Manage Models |
Model management |
SFCC: Check Status |
Check extension status |
Configuration
{
"sfcc-ai.provider": "embedded",
"sfcc-ai.embedded.model": "deepseek-coder-1.3b",
"sfcc-ai.inlineCompletion.enabled": true,
"sfcc-ai.inlineCompletion.debounceMs": 500,
"sfcc-ai.rag.enabled": true,
"sfcc-ai.rag.maxContextChunks": 5,
"sfcc-ai.projectRulesFile": ".sfcc-ai-rules.md"
}
Provider Options
| Provider |
Description |
embedded |
Built-in (default, no setup) |
ollama |
External Ollama server |
lmstudio |
External LM Studio server |
Available Models
| Model |
Size |
Best For |
deepseek-coder-1.3b |
~600MB |
Fast responses |
codellama-7b |
~4GB |
Higher quality |
phi-2 |
~1.6GB |
Balanced |
API Documentation
The extension comes with core SFCC API documentation embedded. For comprehensive coverage of all 400+ SFCC classes:
- Run
SFCC: Update API Documentation command
- This downloads and parses documentation from salesforcecommercecloud.github.io/b2c-dev-doc
- Documentation is stored locally and used for inline completions and chat
Automatic Updates: The extension checks for new API versions. Run SFCC: Check Documentation Version to see if updates are available.
Custom Project Rules
Create .sfcc-ai-rules.md in your project root:
## Controller Patterns
- Use cache.applyDefaultCache for GET requests
- Include consentTracking middleware
## Model Conventions
- Use decorator pattern for data transformation
- Handle null values gracefully
## Best Practices
- Always close SeekableIterators
- Use Transaction.wrap for database operations
Debugging Setup
Ensure dw.json has your sandbox credentials:
{
"hostname": "your-sandbox.demandware.net",
"username": "your-username",
"password": "your-password",
"code-version": "version1"
}
Requirements
- VS Code 1.85.0 or higher
- 4GB RAM minimum (8GB recommended)
- SFCC project with
dw.json or cartridge structure
Privacy
- All processing happens locally
- No telemetry or data collection
- No external API calls required
- Your code stays on your machine
License
MIT
Contributing
Contributions welcome! Please read the contributing guidelines.