JavaScript Development Standards
REFERENCE MODE: This skill provides reference material. Load specific standards on-demand based on current task.
Overview
This skill provides comprehensive JavaScript development standards for CUI projects, covering modern JavaScript features (ES2022+), code quality practices, async programming patterns, and tooling configuration.
Prerequisites
To effectively use this skill, you should have:
- Modern JavaScript knowledge (ES2015+, ES modules, async/await)
- Understanding of JavaScript runtime environments (browser, Node.js)
- Experience with npm and JavaScript build tools
Standards Documents
This skill includes the following standards documents:
- javascript-fundamentals.md - ES modules, variables, functions, vanilla JavaScript preference, core patterns
- code-quality.md - Complexity limits, refactoring strategies, code organization, maintainability
- modern-patterns.md - Destructuring, template literals, spread/rest operators, object/array methods
- async-programming.md - Promises, async/await, error handling, concurrent operations
- tooling-guide.md - ESLint, Prettier, npm scripts, IDE integration, quality checks
What This Skill Provides
JavaScript Fundamentals
- ES Modules: Import/export syntax, module organization, circular dependency avoidance
- Variables: const/let best practices, no var usage, scope management
- Functions: Arrow functions vs regular functions, pure functions, higher-order functions
- Vanilla JavaScript: Preference for native APIs (fetch, DOM, etc.) over libraries
Code Quality
- Complexity Limits: Cyclomatic complexity (max 15), statement count (max 20)
- Refactoring Strategies: Extract methods, guard clauses, early returns
- Code Organization: Single Responsibility Principle, function size limits
- Maintainability: Clear naming, documentation, avoiding magic numbers
Modern Patterns
- Destructuring: Object and array destructuring patterns
- Template Literals: String interpolation, multi-line strings
- Spread/Rest: Object/array spreading, rest parameters
- Object/Array Methods: map, filter, reduce, find, destructive vs non-destructive
Async Programming
- Promises: Creation, chaining, error handling
- Async/Await: Modern async patterns, try/catch best practices
- Error Handling: Proper error propagation, custom errors
- Concurrent Operations: Promise.all, Promise.race, parallel execution
Tooling Guide
- ESLint: Configuration, rules, plugins
- Prettier: Code formatting, IDE integration
- npm Scripts: Development workflow, quality checks
- Build Pipeline: Development and production builds
When to Activate
This skill should be activated when:
- JavaScript Development Tasks: Writing or modifying JavaScript code for CUI projects
- Code Review: Reviewing JavaScript code for standards compliance
- Refactoring: Improving code quality, reducing complexity
- Modern Migration: Updating legacy JavaScript to modern patterns
- Tooling Setup: Configuring ESLint, Prettier, or build tools
- Async Operations: Implementing Promise-based or async/await code
- Performance Optimization: Optimizing JavaScript execution
Workflow
When this skill is activated:
1. Understand Context
- Identify the specific JavaScript task or requirement
- Determine which standards documents are most relevant
- Check project-specific JavaScript configuration
2. Apply Standards
- Reference appropriate standards documents for guidance
- Follow ES module patterns for imports/exports
- Use const/let appropriately, avoid var
- Prefer vanilla JavaScript APIs over library dependencies
- Ensure functions meet complexity limits
- Apply modern patterns (destructuring, template literals, etc.)
3. Quality Assurance
- Run ESLint to check for rule violations
- Run Prettier to ensure consistent formatting
- Verify code meets complexity thresholds
- Test async operations for proper error handling
- Check for common anti-patterns
4. Documentation
- Document complex logic with clear comments
- Explain non-obvious patterns or workarounds
- Note any browser-specific considerations
- Update relevant documentation if adding new patterns
Tool Access
This skill provides access to JavaScript development standards through:
- Read tool for accessing standards documents
- Standards documents use Markdown format for compatibility
- All standards are self-contained within this skill
- Cross-references between standards use relative paths
Integration Notes
Related Skills
For comprehensive frontend development, this skill works with:
- CSS standards (cui-css skill)
- Testing standards (to be provided in separate skill)
- Web components standards (to be provided in separate skill)
Build Integration
JavaScript standards integrate with:
- npm for package management and scripts
- ESLint for linting and code quality
- Prettier for consistent formatting
- Maven frontend-maven-plugin for build automation
Quality Tools
JavaScript quality is enforced through:
- ESLint for linting and best practices
- Prettier for consistent formatting
- Jest or similar for unit testing
- Browser DevTools for debugging
Best Practices
When working with JavaScript in CUI projects:
- Always use ES modules for imports/exports
- Prefer const over let, never use var
- Use vanilla JavaScript where possible (fetch, DOM methods, etc.)
- Keep functions simple - max 15 cyclomatic complexity, max 20 statements
- Use modern patterns - destructuring, template literals, spread/rest
- Handle async properly - async/await with try/catch, Promise error handling
- Document complex logic with clear comments
- Run quality tools before committing (ESLint, Prettier)
1---2name: cui-javascript3description: Core JavaScript development standards covering ES modules, modern patterns, code quality, async programming, and tooling4---5
6# JavaScript Development Standards
7
8**REFERENCE MODE**: This skill provides reference material. Load specific standards on-demand based on current task.
9
10## Overview
11
12This skill provides comprehensive JavaScript development standards for CUI projects, covering modern JavaScript features (ES2022+), code quality practices, async programming patterns, and tooling configuration.
13
14## Prerequisites
15
16To effectively use this skill, you should have:
17
18- Modern JavaScript knowledge (ES2015+, ES modules, async/await)
19- Understanding of JavaScript runtime environments (browser, Node.js)
20- Experience with npm and JavaScript build tools
21
22## Standards Documents
23
24This skill includes the following standards documents:
25
26- **javascript-fundamentals.md** - ES modules, variables, functions, vanilla JavaScript preference, core patterns
27- **code-quality.md** - Complexity limits, refactoring strategies, code organization, maintainability
28- **modern-patterns.md** - Destructuring, template literals, spread/rest operators, object/array methods
29- **async-programming.md** - Promises, async/await, error handling, concurrent operations
30- **tooling-guide.md** - ESLint, Prettier, npm scripts, IDE integration, quality checks
31
32## What This Skill Provides
33
34### JavaScript Fundamentals
35- **ES Modules**: Import/export syntax, module organization, circular dependency avoidance
36- **Variables**: const/let best practices, no var usage, scope management
37- **Functions**: Arrow functions vs regular functions, pure functions, higher-order functions
38- **Vanilla JavaScript**: Preference for native APIs (fetch, DOM, etc.) over libraries
39
40### Code Quality
41- **Complexity Limits**: Cyclomatic complexity (max 15), statement count (max 20)
42- **Refactoring Strategies**: Extract methods, guard clauses, early returns
43- **Code Organization**: Single Responsibility Principle, function size limits
44- **Maintainability**: Clear naming, documentation, avoiding magic numbers
45
46### Modern Patterns
47- **Destructuring**: Object and array destructuring patterns
48- **Template Literals**: String interpolation, multi-line strings
49- **Spread/Rest**: Object/array spreading, rest parameters
50- **Object/Array Methods**: map, filter, reduce, find, destructive vs non-destructive
51
52### Async Programming
53- **Promises**: Creation, chaining, error handling
54- **Async/Await**: Modern async patterns, try/catch best practices
55- **Error Handling**: Proper error propagation, custom errors
56- **Concurrent Operations**: Promise.all, Promise.race, parallel execution
57
58### Tooling Guide
59- **ESLint**: Configuration, rules, plugins
60- **Prettier**: Code formatting, IDE integration
61- **npm Scripts**: Development workflow, quality checks
62- **Build Pipeline**: Development and production builds
63
64## When to Activate
65
66This skill should be activated when:
67
681. **JavaScript Development Tasks**: Writing or modifying JavaScript code for CUI projects
692. **Code Review**: Reviewing JavaScript code for standards compliance
703. **Refactoring**: Improving code quality, reducing complexity
714. **Modern Migration**: Updating legacy JavaScript to modern patterns
725. **Tooling Setup**: Configuring ESLint, Prettier, or build tools
736. **Async Operations**: Implementing Promise-based or async/await code
747. **Performance Optimization**: Optimizing JavaScript execution
75
76## Workflow
77
78When this skill is activated:
79
80### 1. Understand Context
81- Identify the specific JavaScript task or requirement
82- Determine which standards documents are most relevant
83- Check project-specific JavaScript configuration
84
85### 2. Apply Standards
86- Reference appropriate standards documents for guidance
87- Follow ES module patterns for imports/exports
88- Use const/let appropriately, avoid var
89- Prefer vanilla JavaScript APIs over library dependencies
90- Ensure functions meet complexity limits
91- Apply modern patterns (destructuring, template literals, etc.)
92
93### 3. Quality Assurance
94- Run ESLint to check for rule violations
95- Run Prettier to ensure consistent formatting
96- Verify code meets complexity thresholds
97- Test async operations for proper error handling
98- Check for common anti-patterns
99
100### 4. Documentation
101- Document complex logic with clear comments
102- Explain non-obvious patterns or workarounds
103- Note any browser-specific considerations
104- Update relevant documentation if adding new patterns
105
106## Tool Access
107
108This skill provides access to JavaScript development standards through:
109- Read tool for accessing standards documents
110- Standards documents use Markdown format for compatibility
111- All standards are self-contained within this skill
112- Cross-references between standards use relative paths
113
114## Integration Notes
115
116### Related Skills
117For comprehensive frontend development, this skill works with:
118- CSS standards (cui-css skill)
119- Testing standards (to be provided in separate skill)
120- Web components standards (to be provided in separate skill)
121
122### Build Integration
123JavaScript standards integrate with:
124- npm for package management and scripts
125- ESLint for linting and code quality
126- Prettier for consistent formatting
127- Maven frontend-maven-plugin for build automation
128
129### Quality Tools
130JavaScript quality is enforced through:
131- ESLint for linting and best practices
132- Prettier for consistent formatting
133- Jest or similar for unit testing
134- Browser DevTools for debugging
135
136## Best Practices
137
138When working with JavaScript in CUI projects:
139
1401. **Always use ES modules** for imports/exports
1412. **Prefer const over let**, never use var
1423. **Use vanilla JavaScript** where possible (fetch, DOM methods, etc.)
1434. **Keep functions simple** - max 15 cyclomatic complexity, max 20 statements
1445. **Use modern patterns** - destructuring, template literals, spread/rest
1456. **Handle async properly** - async/await with try/catch, Promise error handling
1467. **Document complex logic** with clear comments
1478. **Run quality tools** before committing (ESLint, Prettier)