@mytechtoday/augment-extensions 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/augment-extensions/writing-standards/screenplay/commercials/CHARACTER-COUNT-TRACKING.md +226 -0
- package/augment-extensions/writing-standards/screenplay/commercials/CONFIGURATION.md +327 -0
- package/augment-extensions/writing-standards/screenplay/commercials/README.md +223 -0
- package/augment-extensions/writing-standards/screenplay/commercials/REFACTORING-SUMMARY.md +193 -0
- package/augment-extensions/writing-standards/screenplay/commercials/REFERENCES.md +157 -0
- package/augment-extensions/writing-standards/screenplay/commercials/VALIDATION-REPORT.md +109 -0
- package/augment-extensions/writing-standards/screenplay/commercials/examples/.gitkeep +0 -0
- package/augment-extensions/writing-standards/screenplay/commercials/module.json +111 -0
- package/augment-extensions/writing-standards/screenplay/commercials/rules/.gitkeep +0 -0
- package/augment-extensions/writing-standards/screenplay/commercials/rules/commercial-audience.md +343 -0
- package/augment-extensions/writing-standards/screenplay/commercials/rules/commercial-formats.md +396 -0
- package/augment-extensions/writing-standards/screenplay/commercials/rules/commercial-persuasion.md +387 -0
- package/augment-extensions/writing-standards/screenplay/commercials/rules/commercial-scripts.md +531 -0
- package/augment-extensions/writing-standards/screenplay/commercials/rules/commercial-techniques.md +912 -0
- package/augment-extensions/writing-standards/screenplay/commercials/rules/commercial-types.md +700 -0
- package/augment-extensions/writing-standards/screenplay/commercials/rules/commercials.md +285 -0
- package/augment-extensions/writing-standards/screenplay/commercials/scripts/validate-character-count.ts +284 -0
- package/cli/dist/cli.js +0 -2
- package/cli/dist/cli.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# Commercial Writing: Core Principles
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Commercial writing is the art of persuasive storytelling within strict time constraints. Whether creating a 15-second spot or a 60-second narrative, the goal is to capture attention, communicate value, and inspire action—all while maintaining brand integrity and legal compliance.
|
|
6
|
+
|
|
7
|
+
## The Five Pillars of Effective Commercial Writing
|
|
8
|
+
|
|
9
|
+
### 1. Clear Messaging
|
|
10
|
+
|
|
11
|
+
**Principle:** One commercial, one message. Trying to communicate multiple ideas dilutes impact and confuses viewers.
|
|
12
|
+
|
|
13
|
+
**Best Practices:**
|
|
14
|
+
- Identify the single most important message before writing
|
|
15
|
+
- Every element (visual, audio, dialogue) should support this message
|
|
16
|
+
- Test your message: Can a viewer recall it 24 hours later?
|
|
17
|
+
- Avoid jargon, complex terminology, or industry-speak
|
|
18
|
+
- Use simple, direct language that resonates with your target audience
|
|
19
|
+
|
|
20
|
+
**Example - Clear vs. Unclear:**
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
❌ UNCLEAR (30-second car commercial):
|
|
24
|
+
"The new Apex sedan features advanced safety technology,
|
|
25
|
+
best-in-class fuel efficiency, premium leather interior,
|
|
26
|
+
cutting-edge infotainment system, and award-winning design."
|
|
27
|
+
|
|
28
|
+
✅ CLEAR (30-second car commercial):
|
|
29
|
+
"The new Apex sedan. The safest car we've ever built."
|
|
30
|
+
(All visuals and copy support this single safety message)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 2. Strong Call-to-Action (CTA)
|
|
34
|
+
|
|
35
|
+
**Principle:** Every commercial must tell viewers exactly what to do next. A weak or missing CTA wastes the entire investment.
|
|
36
|
+
|
|
37
|
+
**Best Practices:**
|
|
38
|
+
- Place CTA in final 5-10 seconds (depending on length)
|
|
39
|
+
- Use action verbs: "Visit," "Call," "Download," "Try," "Shop"
|
|
40
|
+
- Make it specific: "Visit dealership.com/test-drive" not just "Visit our website"
|
|
41
|
+
- Include urgency when appropriate: "Limited time offer," "While supplies last"
|
|
42
|
+
- Ensure CTA is visually and audibly clear (on-screen text + voiceover)
|
|
43
|
+
|
|
44
|
+
**CTA Strength Hierarchy:**
|
|
45
|
+
1. **Strongest:** Specific action + deadline ("Order by midnight for 50% off")
|
|
46
|
+
2. **Strong:** Specific action + incentive ("Visit today for free consultation")
|
|
47
|
+
3. **Moderate:** Specific action ("Download the app now")
|
|
48
|
+
4. **Weak:** Generic action ("Learn more online")
|
|
49
|
+
5. **Weakest:** No action ("Brand X. We're here.")
|
|
50
|
+
|
|
51
|
+
**Example - Strong CTA:**
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
VOICEOVER
|
|
55
|
+
Visit TryApex.com slash safety to schedule
|
|
56
|
+
your test drive. That's TryApex.com slash safety.
|
|
57
|
+
|
|
58
|
+
ON-SCREEN TEXT
|
|
59
|
+
TryApex.com/safety
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 3. Memorable Hook
|
|
63
|
+
|
|
64
|
+
**Principle:** You have 2-3 seconds to capture attention before viewers tune out. The hook is everything.
|
|
65
|
+
|
|
66
|
+
**Hook Types:**
|
|
67
|
+
- **Visual Hook:** Unexpected imagery, striking visuals, pattern interruption
|
|
68
|
+
- **Audio Hook:** Distinctive sound, music sting, silence, unexpected noise
|
|
69
|
+
- **Narrative Hook:** Question, conflict, relatable problem, surprising statement
|
|
70
|
+
- **Emotional Hook:** Humor, nostalgia, fear, joy, surprise
|
|
71
|
+
|
|
72
|
+
**Best Practices:**
|
|
73
|
+
- Open with the hook—don't build up to it
|
|
74
|
+
- Make it relevant to your message (not just attention-grabbing)
|
|
75
|
+
- Test hooks with target audience before production
|
|
76
|
+
- Avoid clichés: babies, puppies, explosions (unless truly original)
|
|
77
|
+
|
|
78
|
+
**Example - Effective Hooks:**
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
VISUAL HOOK:
|
|
82
|
+
[OPEN ON: A car driving normally, suddenly flips upside-down]
|
|
83
|
+
[REVEAL: It's a toy car in a child's hand]
|
|
84
|
+
VOICEOVER: "When you're a parent, everything feels like a crash test."
|
|
85
|
+
|
|
86
|
+
AUDIO HOOK:
|
|
87
|
+
[OPEN ON: Complete silence. No music, no sound]
|
|
88
|
+
[5 seconds of silence]
|
|
89
|
+
VOICEOVER (whisper): "Noise-canceling headphones that actually work."
|
|
90
|
+
|
|
91
|
+
NARRATIVE HOOK:
|
|
92
|
+
[OPEN ON: Woman at laptop, frustrated]
|
|
93
|
+
WOMAN: "I've been on hold for 47 minutes."
|
|
94
|
+
VOICEOVER: "There's a better way."
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 4. Emotional Connection
|
|
98
|
+
|
|
99
|
+
**Principle:** People buy with emotion and justify with logic. Create an emotional response first, then support with rational benefits.
|
|
100
|
+
|
|
101
|
+
**Emotional Triggers:**
|
|
102
|
+
- **Joy/Happiness:** Celebrations, achievements, family moments
|
|
103
|
+
- **Fear/Anxiety:** Loss prevention, security, safety
|
|
104
|
+
- **Nostalgia:** "Remember when," throwback aesthetics, familiar music
|
|
105
|
+
- **Aspiration:** "Be like this," lifestyle upgrade, status
|
|
106
|
+
- **Belonging:** Community, shared values, "people like you"
|
|
107
|
+
- **Relief:** Problem solved, stress removed, simplification
|
|
108
|
+
|
|
109
|
+
**Best Practices:**
|
|
110
|
+
- Choose ONE primary emotion per commercial
|
|
111
|
+
- Show emotion through characters, not just tell through copy
|
|
112
|
+
- Use music to amplify emotional tone
|
|
113
|
+
- Authentic emotion beats manufactured sentiment
|
|
114
|
+
- Test emotional resonance with focus groups
|
|
115
|
+
|
|
116
|
+
**Example - Emotional Connection:**
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
[OPEN ON: Elderly man sitting alone at kitchen table]
|
|
120
|
+
[He opens a video call on tablet]
|
|
121
|
+
[Grandchildren appear on screen, waving]
|
|
122
|
+
GRANDKIDS (V.O.): "Hi Grandpa!"
|
|
123
|
+
[Man's face lights up with genuine joy]
|
|
124
|
+
VOICEOVER: "Stay connected to what matters."
|
|
125
|
+
[SUPER: FamilyConnect Video Calling]
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 5. Audience Targeting
|
|
129
|
+
|
|
130
|
+
**Principle:** A commercial for everyone is a commercial for no one. Know exactly who you're talking to and speak their language.
|
|
131
|
+
|
|
132
|
+
**Targeting Dimensions:**
|
|
133
|
+
- **Demographics:** Age, gender, income, education, location
|
|
134
|
+
- **Psychographics:** Values, interests, lifestyle, attitudes
|
|
135
|
+
- **Behavioral:** Purchase history, brand loyalty, media consumption
|
|
136
|
+
- **Situational:** Life stage, current needs, pain points
|
|
137
|
+
|
|
138
|
+
**Best Practices:**
|
|
139
|
+
- Create detailed audience personas before writing
|
|
140
|
+
- Use language, references, and cultural touchpoints that resonate
|
|
141
|
+
- Cast talent that reflects your target audience
|
|
142
|
+
- Choose media placement that reaches your audience
|
|
143
|
+
- Avoid alienating non-target audiences (unless intentional)
|
|
144
|
+
|
|
145
|
+
**Example - Targeted Messaging:**
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
MILLENNIAL AUDIENCE (Streaming service):
|
|
149
|
+
[OPEN ON: Young professional on couch, scrolling phone]
|
|
150
|
+
VOICEOVER: "Another Friday night, another 45 minutes
|
|
151
|
+
deciding what to watch."
|
|
152
|
+
[App interface appears]
|
|
153
|
+
VOICEOVER: "StreamPick AI knows what you'll love.
|
|
154
|
+
No more scrolling. Just watching."
|
|
155
|
+
|
|
156
|
+
BOOMER AUDIENCE (Same service):
|
|
157
|
+
[OPEN ON: Couple in living room, confused by remote]
|
|
158
|
+
VOICEOVER: "Remember when TV was simple?"
|
|
159
|
+
[Simple interface appears]
|
|
160
|
+
VOICEOVER: "StreamPick. All your favorites.
|
|
161
|
+
One button. No confusion."
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## The Commercial Writing Formula
|
|
165
|
+
|
|
166
|
+
### 3-Act Structure (Adapted for Commercials)
|
|
167
|
+
|
|
168
|
+
**Act 1: Problem/Hook (First 20-30%)**
|
|
169
|
+
- Establish relatable problem or capture attention
|
|
170
|
+
- Introduce conflict or need
|
|
171
|
+
- Create curiosity or concern
|
|
172
|
+
|
|
173
|
+
**Act 2: Solution (Middle 40-50%)**
|
|
174
|
+
- Introduce product/service as solution
|
|
175
|
+
- Demonstrate key benefit
|
|
176
|
+
- Show transformation or resolution
|
|
177
|
+
|
|
178
|
+
**Act 3: Call-to-Action (Final 20-30%)**
|
|
179
|
+
- Reinforce benefit
|
|
180
|
+
- Clear, specific CTA
|
|
181
|
+
- Brand reinforcement
|
|
182
|
+
|
|
183
|
+
**Example - 30-Second Structure:**
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
ACT 1 (0:00-0:08) - PROBLEM
|
|
187
|
+
[Woman at desk, surrounded by paperwork, stressed]
|
|
188
|
+
WOMAN: "I spend more time doing paperwork than
|
|
189
|
+
seeing patients."
|
|
190
|
+
|
|
191
|
+
ACT 2 (0:09-0:22) - SOLUTION
|
|
192
|
+
[She opens laptop, uses software]
|
|
193
|
+
VOICEOVER: "MediFlow automates your admin.
|
|
194
|
+
Charts, billing, scheduling—done."
|
|
195
|
+
[She closes laptop, smiles]
|
|
196
|
+
|
|
197
|
+
ACT 3 (0:23-0:30) - CTA
|
|
198
|
+
VOICEOVER: "Try MediFlow free for 30 days.
|
|
199
|
+
Visit MediFlow.com."
|
|
200
|
+
[SUPER: MediFlow.com - 30 Day Free Trial]
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Common Pitfalls to Avoid
|
|
204
|
+
|
|
205
|
+
### 1. Feature Dumping
|
|
206
|
+
**Problem:** Listing every product feature instead of focusing on benefits
|
|
207
|
+
**Solution:** Choose 1-2 key benefits that matter most to your audience
|
|
208
|
+
|
|
209
|
+
### 2. Weak Opening
|
|
210
|
+
**Problem:** Slow build-up, logo first, generic establishing shots
|
|
211
|
+
**Solution:** Hook in first 2-3 seconds, logo at end
|
|
212
|
+
|
|
213
|
+
### 3. Unclear Brand
|
|
214
|
+
**Problem:** Viewer can't remember who the commercial was for
|
|
215
|
+
**Solution:** Brand integration throughout, not just end card
|
|
216
|
+
|
|
217
|
+
### 4. No Differentiation
|
|
218
|
+
**Problem:** Could be any competitor's commercial
|
|
219
|
+
**Solution:** Unique selling proposition, distinctive creative approach
|
|
220
|
+
|
|
221
|
+
### 5. Overproduction
|
|
222
|
+
**Problem:** Style over substance, effects overshadow message
|
|
223
|
+
**Solution:** Serve the message, not the ego
|
|
224
|
+
|
|
225
|
+
## Writing for Different Commercial Lengths
|
|
226
|
+
|
|
227
|
+
### 15-Second Spots
|
|
228
|
+
- **One idea only**
|
|
229
|
+
- Hook + benefit + CTA
|
|
230
|
+
- No time for storytelling
|
|
231
|
+
- Every word counts
|
|
232
|
+
- Often used for brand awareness or simple promotions
|
|
233
|
+
|
|
234
|
+
### 30-Second Spots
|
|
235
|
+
- **Industry standard**
|
|
236
|
+
- Room for simple narrative
|
|
237
|
+
- Problem-solution structure works well
|
|
238
|
+
- 2-3 key points maximum
|
|
239
|
+
- Most versatile length
|
|
240
|
+
|
|
241
|
+
### 60-Second Spots
|
|
242
|
+
- **Premium storytelling**
|
|
243
|
+
- Full narrative arc possible
|
|
244
|
+
- Emotional depth achievable
|
|
245
|
+
- Multiple benefits can be shown
|
|
246
|
+
- Higher production value expected
|
|
247
|
+
|
|
248
|
+
## Integration with Brand Guidelines
|
|
249
|
+
|
|
250
|
+
Every commercial must align with:
|
|
251
|
+
- **Brand Voice:** Tone, personality, language style
|
|
252
|
+
- **Brand Values:** What the company stands for
|
|
253
|
+
- **Visual Identity:** Colors, fonts, logo usage
|
|
254
|
+
- **Messaging Hierarchy:** Primary and secondary messages
|
|
255
|
+
- **Legal Requirements:** Disclaimers, disclosures, compliance
|
|
256
|
+
|
|
257
|
+
## Measurement and Optimization
|
|
258
|
+
|
|
259
|
+
**Key Performance Indicators (KPIs):**
|
|
260
|
+
- **Awareness:** Brand recall, message retention
|
|
261
|
+
- **Engagement:** View-through rate, social shares
|
|
262
|
+
- **Action:** Click-through rate, conversions, sales lift
|
|
263
|
+
- **Efficiency:** Cost per acquisition, return on ad spend
|
|
264
|
+
|
|
265
|
+
**A/B Testing Opportunities:**
|
|
266
|
+
- Different hooks (first 3 seconds)
|
|
267
|
+
- CTA variations (wording, placement, urgency)
|
|
268
|
+
- Emotional tone (humor vs. serious)
|
|
269
|
+
- Talent/casting choices
|
|
270
|
+
- Music/audio approaches
|
|
271
|
+
|
|
272
|
+
## Conclusion
|
|
273
|
+
|
|
274
|
+
Effective commercial writing combines art and science: the art of storytelling and emotional connection, the science of persuasion and measurement. Master these five pillars—clear messaging, strong CTAs, memorable hooks, emotional connection, and precise targeting—and you'll create commercials that not only capture attention but drive real business results.
|
|
275
|
+
|
|
276
|
+
Remember: In commercial writing, every second counts, every word matters, and every element must earn its place. Be ruthless in editing, relentless in testing, and always put your audience first.
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
**Next Steps:**
|
|
281
|
+
- Review [Commercial Formats](./commercial-formats.md) for duration-specific guidelines
|
|
282
|
+
- Explore [Commercial Types](./commercial-types.md) for category-specific best practices
|
|
283
|
+
- Study [Persuasion Techniques](./commercial-persuasion.md) for advanced strategies
|
|
284
|
+
- Consult [Legal Compliance](./commercial-laws.md) before production
|
|
285
|
+
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Validate Character Count for Commercials Module
|
|
4
|
+
* Version: 3.0.0
|
|
5
|
+
* Last Updated: 2026-03-03
|
|
6
|
+
*
|
|
7
|
+
* Validates that each individual content file is between 3,000 and 45,000 characters
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* npx tsx validate-character-count.ts [--verbose] [--json]
|
|
11
|
+
* npm run validate:commercials [-- --verbose] [-- --json]
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import * as fs from 'fs';
|
|
15
|
+
import * as path from 'path';
|
|
16
|
+
import * as process from 'process';
|
|
17
|
+
|
|
18
|
+
// Configuration
|
|
19
|
+
const FILE_MIN = 3000;
|
|
20
|
+
const FILE_MAX = 45000;
|
|
21
|
+
|
|
22
|
+
const EXCLUDED_FILES = [
|
|
23
|
+
'module.json',
|
|
24
|
+
'README.md',
|
|
25
|
+
'CONFIGURATION.md',
|
|
26
|
+
'REFERENCES.md',
|
|
27
|
+
'CHARACTER-COUNT-TRACKING.md',
|
|
28
|
+
'VALIDATION-REPORT.md'
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
// Color codes for terminal output
|
|
32
|
+
const colors = {
|
|
33
|
+
reset: '\x1b[0m',
|
|
34
|
+
cyan: '\x1b[36m',
|
|
35
|
+
green: '\x1b[32m',
|
|
36
|
+
red: '\x1b[31m',
|
|
37
|
+
gray: '\x1b[90m',
|
|
38
|
+
white: '\x1b[37m',
|
|
39
|
+
yellow: '\x1b[33m'
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
interface FileInfo {
|
|
43
|
+
file: string;
|
|
44
|
+
path: string;
|
|
45
|
+
characters: number;
|
|
46
|
+
status: string;
|
|
47
|
+
statusColor: keyof typeof colors;
|
|
48
|
+
isExcluded: boolean;
|
|
49
|
+
directory: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
interface ValidationResult {
|
|
53
|
+
totalCharacters: number;
|
|
54
|
+
fileMin: number;
|
|
55
|
+
fileMax: number;
|
|
56
|
+
status: 'PASS' | 'FAIL';
|
|
57
|
+
message: string;
|
|
58
|
+
passedFiles: number;
|
|
59
|
+
failedFiles: number;
|
|
60
|
+
files: FileInfo[];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Parse command line arguments
|
|
64
|
+
const args = process.argv.slice(2);
|
|
65
|
+
const verbose = args.includes('--verbose') || args.includes('-v');
|
|
66
|
+
const jsonOutput = args.includes('--json') || args.includes('-j');
|
|
67
|
+
|
|
68
|
+
// Get module root (parent of scripts directory)
|
|
69
|
+
const moduleRoot = path.resolve(__dirname, '..');
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Find all markdown files recursively
|
|
73
|
+
*/
|
|
74
|
+
function findMarkdownFiles(dir: string): string[] {
|
|
75
|
+
const files: string[] = [];
|
|
76
|
+
|
|
77
|
+
function traverse(currentDir: string) {
|
|
78
|
+
const entries = fs.readdirSync(currentDir, { withFileTypes: true });
|
|
79
|
+
|
|
80
|
+
for (const entry of entries) {
|
|
81
|
+
const fullPath = path.join(currentDir, entry.name);
|
|
82
|
+
|
|
83
|
+
if (entry.isDirectory()) {
|
|
84
|
+
traverse(fullPath);
|
|
85
|
+
} else if (entry.isFile() && entry.name.endsWith('.md')) {
|
|
86
|
+
files.push(fullPath);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
traverse(dir);
|
|
92
|
+
return files;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Validate character counts
|
|
97
|
+
*/
|
|
98
|
+
function validateCharacterCounts(): ValidationResult {
|
|
99
|
+
const markdownFiles = findMarkdownFiles(moduleRoot);
|
|
100
|
+
const fileBreakdown: FileInfo[] = [];
|
|
101
|
+
let totalChars = 0;
|
|
102
|
+
let passedCount = 0;
|
|
103
|
+
let failedCount = 0;
|
|
104
|
+
|
|
105
|
+
for (const filePath of markdownFiles) {
|
|
106
|
+
const fileName = path.basename(filePath);
|
|
107
|
+
const relativePath = path.relative(moduleRoot, filePath);
|
|
108
|
+
const directory = path.basename(path.dirname(filePath));
|
|
109
|
+
const isExcluded = EXCLUDED_FILES.includes(fileName);
|
|
110
|
+
|
|
111
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
112
|
+
const charCount = content.length;
|
|
113
|
+
totalChars += charCount;
|
|
114
|
+
|
|
115
|
+
let status: string;
|
|
116
|
+
let statusColor: keyof typeof colors;
|
|
117
|
+
|
|
118
|
+
if (isExcluded) {
|
|
119
|
+
status = 'EXCLUDED';
|
|
120
|
+
statusColor = 'gray';
|
|
121
|
+
} else if (charCount >= FILE_MIN && charCount <= FILE_MAX) {
|
|
122
|
+
status = 'PASS';
|
|
123
|
+
statusColor = 'green';
|
|
124
|
+
passedCount++;
|
|
125
|
+
} else if (charCount < FILE_MIN) {
|
|
126
|
+
const deficit = FILE_MIN - charCount;
|
|
127
|
+
status = `FAIL (too short by ${deficit} chars)`;
|
|
128
|
+
statusColor = 'red';
|
|
129
|
+
failedCount++;
|
|
130
|
+
} else {
|
|
131
|
+
const excess = charCount - FILE_MAX;
|
|
132
|
+
status = `FAIL (too long by ${excess} chars)`;
|
|
133
|
+
statusColor = 'red';
|
|
134
|
+
failedCount++;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
fileBreakdown.push({
|
|
138
|
+
file: fileName,
|
|
139
|
+
path: relativePath,
|
|
140
|
+
characters: charCount,
|
|
141
|
+
status,
|
|
142
|
+
statusColor,
|
|
143
|
+
isExcluded,
|
|
144
|
+
directory
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
const overallStatus: 'PASS' | 'FAIL' = failedCount === 0 ? 'PASS' : 'FAIL';
|
|
149
|
+
const message = failedCount === 0
|
|
150
|
+
? 'All content files within 3,000 - 45,000 character range'
|
|
151
|
+
: `${failedCount} file(s) outside target range`;
|
|
152
|
+
|
|
153
|
+
return {
|
|
154
|
+
totalCharacters: totalChars,
|
|
155
|
+
fileMin: FILE_MIN,
|
|
156
|
+
fileMax: FILE_MAX,
|
|
157
|
+
status: overallStatus,
|
|
158
|
+
message,
|
|
159
|
+
passedFiles: passedCount,
|
|
160
|
+
failedFiles: failedCount,
|
|
161
|
+
files: fileBreakdown
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Print colored text to console
|
|
167
|
+
*/
|
|
168
|
+
function printColor(text: string, color: keyof typeof colors) {
|
|
169
|
+
console.log(`${colors[color]}${text}${colors.reset}`);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Print validation results to console
|
|
174
|
+
*/
|
|
175
|
+
function printResults(result: ValidationResult) {
|
|
176
|
+
console.log('');
|
|
177
|
+
printColor('=== Commercial Writing Standards - Per-File Character Count Validation ===', 'cyan');
|
|
178
|
+
printColor(`Per-File Target Range: ${FILE_MIN} - ${FILE_MAX} characters`, 'gray');
|
|
179
|
+
printColor(`Total Module Characters: ${result.totalCharacters}`, 'white');
|
|
180
|
+
console.log('');
|
|
181
|
+
|
|
182
|
+
const symbol = result.status === 'PASS' ? '✓' : '✗';
|
|
183
|
+
printColor(`${symbol} ${result.status} : ${result.message}`, result.status === 'PASS' ? 'green' : 'red');
|
|
184
|
+
|
|
185
|
+
// Show failed files prominently
|
|
186
|
+
const failedFiles = result.files.filter(f => f.status.startsWith('FAIL'));
|
|
187
|
+
if (failedFiles.length > 0) {
|
|
188
|
+
console.log('');
|
|
189
|
+
printColor('=== Failed Files ===', 'red');
|
|
190
|
+
for (const file of failedFiles) {
|
|
191
|
+
printColor(` ✗ ${file.file}: ${file.characters} chars - ${file.status}`, 'red');
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Verbose output
|
|
196
|
+
if (verbose) {
|
|
197
|
+
console.log('');
|
|
198
|
+
printColor('=== All Files ===', 'cyan');
|
|
199
|
+
|
|
200
|
+
const sortedFiles = [...result.files].sort((a, b) => {
|
|
201
|
+
if (a.isExcluded !== b.isExcluded) return a.isExcluded ? 1 : -1;
|
|
202
|
+
return b.characters - a.characters;
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
for (const file of sortedFiles) {
|
|
206
|
+
const symbol = file.status === 'PASS' ? '✓' : file.status === 'EXCLUDED' ? '○' : '✗';
|
|
207
|
+
printColor(` ${symbol} ${file.file}: ${file.characters} chars - ${file.status}`, file.statusColor);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// Category totals
|
|
211
|
+
console.log('');
|
|
212
|
+
printColor('=== Category Totals ===', 'cyan');
|
|
213
|
+
|
|
214
|
+
const categories = {
|
|
215
|
+
'Foundational Rules': result.files.filter(f => /^commercial(s|-(formats|types))\.md$/.test(f.file)),
|
|
216
|
+
'Technique Rules': result.files.filter(f => /^commercial-(techniques|persuasion|audience|scripts|tips)\.md$/.test(f.file)),
|
|
217
|
+
'Legal/Ethical Rules': result.files.filter(f => /^commercial-(laws|ethics)\.md$/.test(f.file)),
|
|
218
|
+
'Supporting Rules': result.files.filter(f => /^commercial-(counter-principles-examples|templates|mistakes|history|glossary)\.md$/.test(f.file)),
|
|
219
|
+
'Example Files': result.files.filter(f => /^(effective|ineffective)-commercials\.md$/.test(f.file)),
|
|
220
|
+
'Infrastructure': result.files.filter(f => f.isExcluded)
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
for (const [category, files] of Object.entries(categories)) {
|
|
224
|
+
if (files.length > 0) {
|
|
225
|
+
const total = files.reduce((sum, f) => sum + f.characters, 0);
|
|
226
|
+
const passCount = files.filter(f => f.status === 'PASS' || f.status === 'EXCLUDED').length;
|
|
227
|
+
printColor(`${category} : ${total} chars - ${files.length} files (${passCount} passing)`, 'white');
|
|
228
|
+
} else {
|
|
229
|
+
printColor(`${category} : 0 chars - 0 files`, 'gray');
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// Summary
|
|
234
|
+
console.log('');
|
|
235
|
+
printColor('=== Summary ===', 'cyan');
|
|
236
|
+
printColor(`Content Files: ${result.files.length - EXCLUDED_FILES.length}`, 'white');
|
|
237
|
+
printColor(`Passed: ${result.passedFiles}`, 'green');
|
|
238
|
+
printColor(`Failed: ${result.failedFiles}`, result.failedFiles === 0 ? 'green' : 'red');
|
|
239
|
+
printColor(`Excluded: ${EXCLUDED_FILES.length}`, 'gray');
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
console.log('');
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Main execution
|
|
247
|
+
*/
|
|
248
|
+
function main() {
|
|
249
|
+
const result = validateCharacterCounts();
|
|
250
|
+
|
|
251
|
+
if (jsonOutput) {
|
|
252
|
+
// JSON output
|
|
253
|
+
const output = {
|
|
254
|
+
totalCharacters: result.totalCharacters,
|
|
255
|
+
fileMin: result.fileMin,
|
|
256
|
+
fileMax: result.fileMax,
|
|
257
|
+
status: result.status,
|
|
258
|
+
message: result.message,
|
|
259
|
+
passedFiles: result.passedFiles,
|
|
260
|
+
failedFiles: result.failedFiles,
|
|
261
|
+
files: result.files.map(f => ({
|
|
262
|
+
file: f.file,
|
|
263
|
+
path: f.path,
|
|
264
|
+
characters: f.characters,
|
|
265
|
+
status: f.status,
|
|
266
|
+
isExcluded: f.isExcluded
|
|
267
|
+
}))
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
console.log(JSON.stringify(output, null, 2));
|
|
271
|
+
} else {
|
|
272
|
+
// Console output
|
|
273
|
+
printResults(result);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
// Exit with appropriate code
|
|
277
|
+
process.exit(result.status === 'PASS' ? 0 : 1);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// Run if executed directly
|
|
281
|
+
if (require.main === module) {
|
|
282
|
+
main();
|
|
283
|
+
}
|
|
284
|
+
|
package/cli/dist/cli.js
CHANGED
|
@@ -468,7 +468,6 @@ program
|
|
|
468
468
|
.option('--output <filename>', 'Custom output filename')
|
|
469
469
|
.option('--max-characters <number>', 'Maximum characters per shot description', '4000')
|
|
470
470
|
.option('--max-shot-length <seconds>', 'Maximum shot duration in seconds', '12')
|
|
471
|
-
.option('--style <style...>', 'Cinematic style(s) to apply (e.g., star-trek, saturday-night-live)')
|
|
472
471
|
.option('--logging', 'Enable comprehensive error logging to JSONL file')
|
|
473
472
|
.action((options) => {
|
|
474
473
|
(0, generate_shot_list_1.generateShotListCommand)({
|
|
@@ -477,7 +476,6 @@ program
|
|
|
477
476
|
output: options.output,
|
|
478
477
|
maxCharacters: parseInt(options.maxCharacters, 10),
|
|
479
478
|
maxShotLength: parseInt(options.maxShotLength, 10),
|
|
480
|
-
style: options.style,
|
|
481
479
|
logging: options.logging
|
|
482
480
|
});
|
|
483
481
|
});
|
package/cli/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mytechtoday/augment-extensions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "CLI tool for managing Augment Code AI extension modules",
|
|
5
5
|
"main": "cli/dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
"test:unit": "vitest run tests/unit",
|
|
30
30
|
"test:integration": "vitest run tests/integration",
|
|
31
31
|
"lint": "cd cli && eslint src/**/*.ts",
|
|
32
|
+
"validate:commercials": "npx tsx augment-extensions/writing-standards/screenplay/commercials/scripts/validate-character-count.ts",
|
|
33
|
+
"validate:commercials:verbose": "npx tsx augment-extensions/writing-standards/screenplay/commercials/scripts/validate-character-count.ts --verbose",
|
|
34
|
+
"validate:commercials:json": "npx tsx augment-extensions/writing-standards/screenplay/commercials/scripts/validate-character-count.ts --json",
|
|
32
35
|
"prepare": "npm run build",
|
|
33
36
|
"prepublishOnly": "npm run build",
|
|
34
37
|
"install:cli": "npm install && npm run build && npm install -g .",
|