@mytechtoday/augment-extensions 2.2.0 → 2.3.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.
Files changed (36) hide show
  1. package/README.md +121 -11
  2. package/augment-extensions/coding-standards/perl/README.md +173 -0
  3. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.d.ts +1 -0
  4. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.d.ts.map +1 -1
  5. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.js +6 -0
  6. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.js.map +1 -1
  7. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.d.ts +1 -0
  8. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.d.ts.map +1 -1
  9. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.js +6 -0
  10. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.js.map +1 -1
  11. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.d.ts +14 -0
  12. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.d.ts.map +1 -1
  13. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.js +46 -3
  14. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.js.map +1 -1
  15. package/cli/dist/commands/generate-shot-list/generator/context-builder.d.ts +29 -1
  16. package/cli/dist/commands/generate-shot-list/generator/context-builder.d.ts.map +1 -1
  17. package/cli/dist/commands/generate-shot-list/generator/context-builder.js +310 -27
  18. package/cli/dist/commands/generate-shot-list/generator/context-builder.js.map +1 -1
  19. package/cli/dist/commands/generate-shot-list/generator/index.d.ts +18 -0
  20. package/cli/dist/commands/generate-shot-list/generator/index.d.ts.map +1 -1
  21. package/cli/dist/commands/generate-shot-list/generator/index.js +146 -19
  22. package/cli/dist/commands/generate-shot-list/generator/index.js.map +1 -1
  23. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.d.ts.map +1 -1
  24. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.js +1 -0
  25. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.js.map +1 -1
  26. package/cli/dist/commands/generate-shot-list/generator/types.d.ts +10 -3
  27. package/cli/dist/commands/generate-shot-list/generator/types.d.ts.map +1 -1
  28. package/cli/dist/commands/generate-shot-list/schema/shot-list.schema.json +341 -0
  29. package/cli/dist/commands/generate-shot-list/schema/validator.d.ts +55 -0
  30. package/cli/dist/commands/generate-shot-list/schema/validator.d.ts.map +1 -0
  31. package/cli/dist/commands/generate-shot-list/schema/validator.js +180 -0
  32. package/cli/dist/commands/generate-shot-list/schema/validator.js.map +1 -0
  33. package/cli/dist/commands/generate-shot-list.d.ts.map +1 -1
  34. package/cli/dist/commands/generate-shot-list.js +35 -24
  35. package/cli/dist/commands/generate-shot-list.js.map +1 -1
  36. package/package.json +2 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Reusable augmentation modules for Augment Code AI - Beyond the 49,400 character limit.**
4
4
 
5
- [![Version](https://img.shields.io/badge/version-1.6.1-blue.svg)](https://github.com/mytech-today-now/augment-extensions)
5
+ [![Version](https://img.shields.io/badge/version-2.3.0-blue.svg)](https://github.com/mytech-today-now/augment-extensions)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE)
7
7
  [![npm](https://img.shields.io/badge/npm-%40mytechtoday%2Faugment--extensions-red.svg)](https://www.npmjs.com/package/@mytechtoday/augment-extensions)
8
8
  [![CI](https://github.com/mytech-today-now/augment-extensions/actions/workflows/ci.yml/badge.svg)](https://github.com/mytech-today-now/augment-extensions/actions/workflows/ci.yml)
@@ -14,17 +14,44 @@ Augment Extensions is a modular repository system that extends Augment Code AI's
14
14
 
15
15
  Augment Code AI limits the `.augment/` folder to ~49,400 characters. This repository provides:
16
16
 
17
- - **1.7M+ characters** of comprehensive guidelines across 20+ modules
17
+ - **2.3M+ characters** of comprehensive guidelines across 22+ modules
18
18
  - **Coding standards** for 8 languages/frameworks (HTML, CSS, JS, TypeScript, Python, React, PHP)
19
19
  - **Domain-specific rules** (WordPress, API design, security, databases, MCP)
20
+ - **Writing standards** (Screenplay with 17 cinematic styles, Shakespeare)
20
21
  - **Workflow integrations** (OpenSpec, Beads)
21
22
  - **Extensive examples** (Gutenberg blocks, REST API, WooCommerce, design patterns)
22
23
  - **Versioned updates** that propagate to consuming projects
23
24
  - **Project-agnostic modules** that work across different codebases
24
25
 
25
- ## ✨ What's New in v1.6.1
26
+ ## ✨ What's New in v2.3.0
26
27
 
27
- ### Content Updates & Task Completion 📝
28
+ ### Shot List Generator Refactor - Production Ready 🎬
29
+
30
+ **Major Refactor Complete (AUGX-SHOT-GEN-001):**
31
+ All 12 requirements implemented for production-ready shot list generation:
32
+
33
+ 1. ✅ **Default Output Behavior** - Auto-generates `<input>-ai-shot-list.<ext>` when `--output` not provided
34
+ 2. ✅ **Intelligent Shot Splitting** - Automatically splits shots exceeding max duration into sub-shots (3a, 3b, 3c)
35
+ 3. ✅ **Duration Formatting** - Clean MM:SS format for all durations (no decimals)
36
+ 4. ✅ **Terminal Feedback Severity** - Color-coded warnings (red errors, yellow warnings)
37
+ 5. ✅ **Visual Style Property** - Reality/Animation/CGI/Hybrid classification per shot
38
+ 6. ✅ **Simplified Character Count** - Clean `C: #### / 4000` format with color indicators
39
+ 7. ✅ **No-Dialogue Shots** - Explicit "No dialogue in this shot" in descriptions
40
+ 8. ✅ **Mandatory Dialogue Property** - MPAA-style screenplay format or "No dialogue in this shot"
41
+ 9. ✅ **Character Blocking Continuity** - Tracks positions/wardrobe/appearance across shots
42
+ 10. ✅ **Rich Character Descriptions** - Character Bible with complete wardrobe/appearance/props/emotion
43
+ 11. ✅ **Rich Set Descriptions** - Set Bible with environment/lighting/atmosphere/weather/timeOfDay
44
+ 12. ✅ **JSON/JSONL Format Corrections** - Valid JSON with all fields, JSONL one shot per line
45
+
46
+ **Key Features:**
47
+ - 🎭 **Character Bible System** - Maintains consistent character descriptions across all shots
48
+ - 🎬 **Set Bible System** - Maintains consistent set/location descriptions across all shots
49
+ - 📐 **Blocking Continuity** - Tracks character positions and spatial relationships
50
+ - 🎨 **Visual Style Detection** - Automatically determines Reality/Animation/CGI/Hybrid
51
+ - 📊 **Production-Ready Output** - Suitable for downstream video generation AI
52
+ - ✅ **Validated JSON/JSONL** - Properly structured output for automated processing
53
+
54
+ ### Previous Updates (v1.6.1)
28
55
 
29
56
  **Shakespeare Module Enhancements:**
30
57
  - ✅ **Comedy Scene Examples** - Added 2 comprehensive scene examples:
@@ -459,7 +486,7 @@ See [.augment/mcp/README.md](./.augment/mcp/README.md) for detailed MCP integrat
459
486
 
460
487
  ```
461
488
  augment-extensions/
462
- ├── augment-extensions/ # Extension modules (1.7M+ characters)
489
+ ├── augment-extensions/ # Extension modules (2.3M+ characters)
463
490
  │ ├── coding-standards/ # Language/framework standards (8 modules)
464
491
  │ │ ├── html/ # HTML standards (32K chars)
465
492
  │ │ ├── css/ # CSS standards (30K chars)
@@ -478,6 +505,21 @@ augment-extensions/
478
505
  │ │ ├── security/ # OWASP security guidelines (38K chars)
479
506
  │ │ ├── wordpress/ # WordPress development (general)
480
507
  │ │ └── wordpress-plugin/ # WordPress plugin development (344K chars)
508
+ │ ├── writing-standards/ # Writing standards (2 modules, 583K chars) ✨ NEW
509
+ │ │ ├── screenplay/ # Screenplay writing (163.5K chars)
510
+ │ │ │ ├── cinematic-styles/ # 17 cinematic style guides (257K chars)
511
+ │ │ │ │ ├── directors/ # 11 auteur directors (Nolan, Tarantino, Lynch, etc.)
512
+ │ │ │ │ ├── franchises/ # Star Wars, MCU/Avengers
513
+ │ │ │ │ ├── films/ # Blue Ruin (indie filmmaking)
514
+ │ │ │ │ ├── comedy-formats/ # Monty Python, Saturday Night Live
515
+ │ │ │ │ └── narrative-theory/ # Joseph Campbell (Hero's Journey)
516
+ │ │ │ ├── genres/ # Genre conventions
517
+ │ │ │ ├── styles/ # Narrative styles (linear, non-linear, etc.)
518
+ │ │ │ └── themes/ # Thematic integration
519
+ │ │ └── literature/ # Literature writing standards
520
+ │ │ └── shakespeare/ # Shakespeare writing (419.7K chars)
521
+ │ │ ├── rules/ # Poetry, drama, language, character & themes
522
+ │ │ └── examples/ # Annotated sonnets, scene examples, exercises
481
523
  │ ├── workflows/ # Workflow integrations (2 modules)
482
524
  │ │ ├── openspec/ # Spec-driven development (32K chars)
483
525
  │ │ └── beads/ # Git-backed issue tracking (39K chars)
@@ -752,12 +794,41 @@ augx use coding-standards/typescript --version 1.0.0 --pin
752
794
  - **[WooCommerce Extension](./augment-extensions/examples/woocommerce-extension/)** (v1.0.0, ~24K chars)
753
795
  - Product customizer with custom fields, checkout customization
754
796
 
797
+ ### Writing Standards (2 modules, ~583K chars)
798
+
799
+ - **[Screenplay Writing Standards](./augment-extensions/writing-standards/screenplay/)** (v1.0.0, ~163.5K chars)
800
+ - **Industry-Standard Formatting** - AMPAS Nicholl Fellowship formatting standards
801
+ - **Narrative Frameworks** - Syd Field, Blake Snyder, Joseph Campbell structures
802
+ - **8 Screenplay Categories** - Hollywood, indie, TV, web, news, commercials, streaming, live TV
803
+ - **Character Development** - Programmatic character arcs, traits, motivations
804
+ - **Dialogue Mastery** - Natural speech, subtext, character voice
805
+ - **Screen Continuity** - Visual consistency rules (180-degree rule, match cuts)
806
+ - **Fountain Format** - Industry-standard plain-text screenplay markup
807
+ - **Cinematic Styles** (257K chars) - 17 comprehensive style guides:
808
+ - **11 Auteur Directors** - Christopher Nolan, Quentin Tarantino, Coen Brothers, David Lynch, Denis Villeneuve, Martin Scorsese, Steven Spielberg, Stanley Kubrick, Wes Anderson, Francis Ford Coppola, George Lucas
809
+ - **2 Franchises** - Star Wars, MCU/Avengers
810
+ - **1 Film** - Blue Ruin (indie filmmaking)
811
+ - **2 Comedy Formats** - Monty Python, Saturday Night Live
812
+ - **1 Narrative Theory** - Joseph Campbell (Hero's Journey)
813
+ - **VS Code Integration** - Better Fountain extension support
814
+ - **Export Tools** - Final Draft (.fdx), PDF, HTML export
815
+
816
+ - **[Shakespeare Writing Standards](./augment-extensions/writing-standards/literature/shakespeare/)** (v1.0.0, ~419.7K chars)
817
+ - **Poetry** - Sonnets, narrative poetry, verse forms, iambic pentameter
818
+ - **Drama** - Tragedy, comedy, history plays, scene construction
819
+ - **Language** - Elizabethan English, rhetoric & wordplay, vocabulary guide
820
+ - **Character & Themes** - Character development, thematic elements
821
+ - **Annotated Examples** - Sonnets, scene examples, exercises
822
+ - **Comedy Scene Examples** - Much Ado About Nothing Act 2 Scene 3 (497 lines), Twelfth Night Act 2 Scene 5 (654 lines)
823
+ - **Comprehensive Coverage** - 33 files, 10,000+ lines, complete guide to Shakespearean writing
824
+
755
825
  ### Statistics
756
826
 
757
- - **Total Modules**: 20 (8 coding standards, 6 domain rules, 2 workflows, 4 examples)
758
- - **Total Character Count**: ~1,774,692 (1.7M+ characters)
827
+ - **Total Modules**: 22 (8 coding standards, 6 domain rules, 2 workflows, 4 examples, 2 writing standards)
828
+ - **Total Character Count**: ~2,357,692 (2.3M+ characters)
759
829
  - **Languages Covered**: HTML, CSS, JavaScript, TypeScript, Python, React, PHP
760
830
  - **Domains Covered**: APIs, Databases, MCP, Security, WordPress
831
+ - **Writing Formats**: Screenplay (Fountain), Shakespearean Literature
761
832
 
762
833
  See [MODULES.md](./MODULES.md) for detailed module documentation.
763
834
 
@@ -930,6 +1001,43 @@ augx link domain-rules/security
930
1001
  augx link workflows/openspec
931
1002
  ```
932
1003
 
1004
+ ### Example 6: Screenplay Writing with Cinematic Styles
1005
+
1006
+ ```bash
1007
+ # Link screenplay writing standards
1008
+ augx link writing-standards/screenplay
1009
+
1010
+ # Generate shot list with cinematic style
1011
+ augx generate-shot-list --path my-screenplay.fountain --style christopher-nolan
1012
+
1013
+ # Generate shot list with multiple styles (priority-based merging)
1014
+ augx generate-shot-list --path my-screenplay.fountain \
1015
+ --style christopher-nolan \
1016
+ --style denis-villeneuve
1017
+
1018
+ # View available cinematic styles
1019
+ augx show writing-standards/screenplay
1020
+
1021
+ # Search for specific director styles
1022
+ augx search "quentin tarantino"
1023
+ augx search "wes anderson"
1024
+ ```
1025
+
1026
+ ### Example 7: Shakespearean Writing
1027
+
1028
+ ```bash
1029
+ # Link Shakespeare writing standards
1030
+ augx link writing-standards/literature/shakespeare
1031
+
1032
+ # View Shakespeare module content
1033
+ augx show shakespeare
1034
+
1035
+ # Search for specific topics
1036
+ augx search "iambic pentameter"
1037
+ augx search "comedy techniques"
1038
+ augx search "sonnets"
1039
+ ```
1040
+
933
1041
  ## 🔄 Update Propagation
934
1042
 
935
1043
  When module maintainers release updates:
@@ -1085,11 +1193,12 @@ augx search "REST API"
1085
1193
 
1086
1194
  ### Comprehensive Coverage
1087
1195
 
1088
- - **1.7M+ characters** of guidelines across 20+ modules
1196
+ - **2.3M+ characters** of guidelines across 22+ modules
1089
1197
  - **8 programming languages/frameworks** - HTML, CSS, JavaScript, TypeScript, Python, React, PHP
1090
1198
  - **6 domain-specific areas** - APIs, Databases, MCP, Security, WordPress
1091
1199
  - **2 workflow systems** - OpenSpec (spec-driven development), Beads (issue tracking)
1092
1200
  - **4 example modules** - Design patterns, Gutenberg blocks, REST API, WooCommerce
1201
+ - **2 writing standards** - Screenplay (with 17 cinematic styles), Shakespeare
1093
1202
 
1094
1203
  ### Model Context Protocol (MCP) - 219K chars ✨ NEW
1095
1204
 
@@ -1171,8 +1280,9 @@ MIT License - See [LICENSE](./LICENSE) for details.
1171
1280
  | **Domain Rules** | 6 | ~1,085,000 | APIs, Databases, MCP, Security, WordPress |
1172
1281
  | **Workflows** | 2 | ~71,000 | OpenSpec, Beads |
1173
1282
  | **Examples** | 4 | ~122,000 | Design Patterns, Gutenberg, REST API, WooCommerce |
1283
+ | **Writing Standards** | 2 | ~583,000 | Screenplay (Cinematic Styles), Shakespeare |
1174
1284
  | **Collections** | 1 | ~164,000 | HTML/CSS/JS Bundle |
1175
- | **TOTAL** | **20** | **~1,774,000** | **1.7M+ characters** |
1285
+ | **TOTAL** | **22** | **~2,357,000** | **2.3M+ characters** |
1176
1286
 
1177
1287
  ## 🔗 Links
1178
1288
 
@@ -1183,7 +1293,7 @@ MIT License - See [LICENSE](./LICENSE) for details.
1183
1293
 
1184
1294
  ---
1185
1295
 
1186
- **Status**: Active Development | **Version**: 1.4.0 | **Maintainer**: @mytech-today-now
1296
+ **Status**: Active Development | **Version**: 2.3.0 | **Maintainer**: @mytech-today-now
1187
1297
 
1188
- **Latest Release**: CLI Expansion Complete (Phase 3 & 4) - Full Beads, OpenSpec, and Collection integration with comprehensive task management, spec-driven development, quality tools, and enhanced documentation generation.
1298
+ **Latest Release**: Shot List Generator Refactor Complete (AUGX-SHOT-GEN-001) - Production-ready shot list generation with Character/Set Bibles, intelligent shot splitting, blocking continuity, visual style detection, and validated JSON/JSONL output for downstream video generation AI.
1189
1299
 
@@ -0,0 +1,173 @@
1
+ # Perl Coding Standard
2
+
3
+ This document defines the coding standards for all Perl code in projects using augment-extensions. The goal is to ensure consistency, readability, maintainability, security, and performance across Perl 5.20+ codebases (preferably 5.36+ for modern features).
4
+
5
+ These guidelines build on core Perl community recommendations:
6
+ - `perlstyle` (core Perl style guide)
7
+ - Perl Best Practices (Damian Conway, O'Reilly 2005 — still highly relevant)
8
+ - Modern Perl (4th edition practices)
9
+ - Perltidy defaults with overrides for team consistency
10
+
11
+ All Perl code **must** pass strict and warnings, and should use modern features where they improve clarity and safety.
12
+
13
+ ## 1. File Naming and Organization
14
+
15
+ - Use lowercase_with_underscores.pl for scripts.
16
+ - Use CamelCase.pm for modules / classes (but prefer lowercase_with_underscores.pm for utility modules when not object-oriented).
17
+ - Main application entry point: `app.pl` or `scriptname.pl`.
18
+ - Tests: `t/001_basic.t`, `t/foo-bar.t` (use descriptive names).
19
+ - Configuration files: `.pl`, `.conf`, or `.ini` (avoid `.pm` unless it's a config module).
20
+ - Organize large projects with `lib/`, `bin/`, `t/`, `script/`, `share/`.
21
+
22
+ **Must** place `use strict;` and `use warnings;` (or `use v5.36;` which implies them) at the top of every file.
23
+
24
+ ```perl
25
+ use v5.36; # Enables strict, warnings, signatures, etc.
26
+ ```
27
+
28
+ ## 2. Indentation and Whitespace
29
+
30
+ Use 4 spaces for indentation (no tabs).
31
+ Use perltidy with project .perltidyrc for automatic formatting:
32
+ -i=4 -et=4 -l=100 -ce -bar -bbb -bbc -bbs
33
+
34
+ Align fat commas (=>) where reasonable.
35
+
36
+ Keep lines ≤ 100 characters (soft limit 120).
37
+ One true brace style (K&R / OTBS): opening brace on same line as control structure.
38
+
39
+ Blank lines:
40
+ 1 between logical blocks inside subroutines.
41
+ 2 between subroutines.
42
+
43
+ Avoid trailing whitespace.
44
+
45
+
46
+ Example:
47
+ ```perl
48
+ sub process_data ($data) {
49
+ my $result = {};
50
+
51
+ if ($data->{enabled}) {
52
+ $result->{status} = 'active';
53
+ }
54
+ else {
55
+ $result->{status} = 'inactive';
56
+ }
57
+
58
+ return $result;
59
+ }
60
+ ```
61
+
62
+ ## 3. Naming Conventions
63
+
64
+ Variables: $snake_case (lowercase with underscores).
65
+ Constants: UPPER_CASE.
66
+ Subroutines: snake_case().
67
+ Packages/Modules: CamelCase for OO / distributions, lowercase::with::namespaces otherwise.
68
+ Filehandles: $fh or $IN_FH, $OUT_FH.
69
+ Package variables: avoid globals; prefer our or state when needed.
70
+ Avoid single-letter variables except for obvious loop counters ($i, $j) or throwaways ($_).
71
+
72
+ Prefer lexical variables (my, our, state) over local or package globals.
73
+ Avoid $a, $b outside sort blocks.
74
+
75
+ ## 4. Comments and Documentation
76
+
77
+ Use POD for module/user documentation.
78
+ Inline comments for non-obvious logic only.
79
+ Use # for comments, aligned when possible.
80
+ Document all subs with purpose, params, returns using simple POD or plain comments.
81
+ For complex regexes, use /xms and comment each line.
82
+
83
+ Example:
84
+ ```perl
85
+
86
+ # Parse ISO date with named captures
87
+ if ($input =~ m{
88
+ ^ (?<year> \d{4} ) -
89
+ (?<month> \d{2} ) -
90
+ (?<day> \d{2} ) $
91
+ }xms) {
92
+ # ...
93
+ }
94
+ ```
95
+
96
+ ## 5. Language Features and Best Practices
97
+
98
+ Alwaysuse v5.36; (or at minimum use 5.20;) for signatures, postderef, etc.
99
+ Use subroutine signatures (sub foo ($bar, $baz) { ... }).
100
+ Prefer say over print when no newline is unwanted.
101
+ Use // (defined-or) and //= over || for defaults unless undef is meaningful.
102
+ List assignment and slices for clarity:
103
+
104
+ ```perl
105
+ my ($host, $port) = @config{qw(host port)};
106
+ ```
107
+
108
+ Use Carp instead of die in libraries (croak, confess).
109
+ Prefer exceptions over return undef for error handling.
110
+ Use Try::Tiny or core try/catch (v5.36+) for exception handling.
111
+
112
+ ```perl
113
+ use Try::Tiny;
114
+
115
+ try {
116
+ dangerous_operation();
117
+ }
118
+ catch {
119
+ croak "Failed: $_";
120
+ };
121
+ ```
122
+
123
+ ## 6. Control Structures
124
+
125
+ Prefer postfix conditionals for simple guards:
126
+
127
+ ```perl
128
+ return if !$condition;
129
+ ```
130
+
131
+ Use for instead of foreach (they are synonyms, but for is idiomatic).
132
+ Avoid C-style for (;;) unless performance-critical.
133
+ Use given/when sparingly (deprecated in future Perl); prefer if/elsif/else.
134
+
135
+ ## 7. Regular Expressions
136
+
137
+ Always use /xms flags for complex regexes.
138
+ Use named captures ((?<name>...)) over numbered.
139
+ Prefer qr// for building regexes.
140
+ Quote regex metacharacters when interpolating user input (quotemeta).
141
+
142
+ ## 8. Error Handling and Security
143
+
144
+ Check return values of system calls (open, sysread, chdir, etc.).
145
+ Use IPC::System::Simple or capture output safely.
146
+ Taint mode (-T) for CGI / untrusted input scripts.
147
+ Use Hash::Util to lock hashes where appropriate.
148
+ Avoid system(@args) with interpolation; prefer list form.
149
+
150
+ ## 9. Testing
151
+
152
+ Use Test2::V0 or Test::More + Test2::Suite.
153
+ Write tests first when feasible (TDD encouraged).
154
+ Aim for >80% coverage on business logic.
155
+ Use done_testing() instead of plan count.
156
+
157
+ ## 10. Performance and Modernization
158
+
159
+ Profile before optimizing (Devel::NYTProf).
160
+ Prefer arrayrefs over arrays for large data.
161
+ Use Moo / Moose / Mojo::Base for OO (project choice).
162
+ Avoid source filters.
163
+ Use feature qw( postderef signatures ) if not using v5.36.
164
+
165
+ ## Tooling
166
+
167
+ Run perltidy -b before commit.
168
+ Use perlcritic with severity 3+ (custom .perlcriticrc recommended).
169
+ Enforce via pre-commit hooks or CI.
170
+
171
+ Follow these guidelines unless a deliberate, documented exception exists. Consistency across the codebase takes precedence over individual preferences.
172
+
173
+ This new Perl standard mirrors the structure, prescriptive tone, code examples, and depth seen in the repo's other language standards (e.g., Python's emphasis on modern features/type hints, PHP's PSR adherence with extensions). Place it in `augment-extensions/coding-standards/perl/README.md` (or similar) to match the pattern. If you need adjustments or more sections, let me know!
@@ -16,6 +16,7 @@ export declare class JSONFormatter extends BaseFormatter {
16
16
  format(shotList: ShotList, options?: FormatterOptions): string;
17
17
  /**
18
18
  * Format individual shot for JSON
19
+ * Requirement 12: Include all fields from Shot interface
19
20
  */
20
21
  private formatShot;
21
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"json-formatter.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/json-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAiB,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAmC9D;;OAEG;IACH,OAAO,CAAC,UAAU;IA8ClB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB"}
1
+ {"version":3,"file":"json-formatter.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/json-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAiB,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAmC9D;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmDlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB"}
@@ -49,6 +49,7 @@ class JSONFormatter extends base_formatter_1.BaseFormatter {
49
49
  }
50
50
  /**
51
51
  * Format individual shot for JSON
52
+ * Requirement 12: Include all fields from Shot interface
52
53
  */
53
54
  formatShot(shot, options) {
54
55
  const includeWarnings = options?.includeWarnings !== false;
@@ -72,14 +73,19 @@ class JSONFormatter extends base_formatter_1.BaseFormatter {
72
73
  name: char.name,
73
74
  position: char.position,
74
75
  appearance: char.appearance,
76
+ wardrobe: char.wardrobe || null, // Requirement 10: Rich character descriptions
77
+ physicalAppearance: char.physicalAppearance || null, // Requirement 10: Rich character descriptions
75
78
  emotion: char.emotion || null,
76
79
  action: char.action || null
77
80
  })),
78
81
  description: shot.description,
82
+ dialogue: shot.dialogue, // Requirement 8 & 12: Mandatory dialogue property
79
83
  metadata: {
80
84
  shotType: shot.metadata.shotType,
81
85
  cameraMovement: shot.metadata.cameraMovement,
82
86
  framing: shot.metadata.framing,
87
+ visualStyle: shot.metadata.visualStyle, // Requirement 5 & 12: Visual style property
88
+ cinematicStyle: shot.metadata.cinematicStyle || null, // Requirement 12: Cinematic style
83
89
  technicalNotes: shot.metadata.technicalNotes || []
84
90
  },
85
91
  duration: {
@@ -1 +1 @@
1
- {"version":3,"file":"json-formatter.js","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/json-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-formatter.js","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/json-formatter.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare class JSONLFormatter extends BaseFormatter {
19
19
  format(shotList: ShotList, options?: FormatterOptions): string;
20
20
  /**
21
21
  * Format individual shot for JSONL
22
+ * Requirement 12: Include all fields from Shot interface
22
23
  */
23
24
  private formatShot;
24
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl-formatter.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/jsonl-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAiB,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAC/C;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAY9D;;OAEG;IACH,OAAO,CAAC,UAAU;IA8ClB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB"}
1
+ {"version":3,"file":"jsonl-formatter.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/jsonl-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAiB,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAC/C;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAY9D;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmDlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB"}
@@ -26,6 +26,7 @@ class JSONLFormatter extends base_formatter_1.BaseFormatter {
26
26
  }
27
27
  /**
28
28
  * Format individual shot for JSONL
29
+ * Requirement 12: Include all fields from Shot interface
29
30
  */
30
31
  formatShot(shot, options) {
31
32
  const includeWarnings = options?.includeWarnings !== false;
@@ -49,14 +50,19 @@ class JSONLFormatter extends base_formatter_1.BaseFormatter {
49
50
  name: char.name,
50
51
  position: char.position,
51
52
  appearance: char.appearance,
53
+ wardrobe: char.wardrobe || null, // Requirement 10: Rich character descriptions
54
+ physicalAppearance: char.physicalAppearance || null, // Requirement 10: Rich character descriptions
52
55
  emotion: char.emotion || null,
53
56
  action: char.action || null
54
57
  })),
55
58
  description: shot.description,
59
+ dialogue: shot.dialogue, // Requirement 8 & 12: Mandatory dialogue property
56
60
  metadata: {
57
61
  shotType: shot.metadata.shotType,
58
62
  cameraMovement: shot.metadata.cameraMovement,
59
63
  framing: shot.metadata.framing,
64
+ visualStyle: shot.metadata.visualStyle, // Requirement 5 & 12: Visual style property
65
+ cinematicStyle: shot.metadata.cinematicStyle || null, // Requirement 12: Cinematic style
60
66
  technicalNotes: shot.metadata.technicalNotes || []
61
67
  },
62
68
  duration: {
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl-formatter.js","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/jsonl-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonl-formatter.js","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/jsonl-formatter.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,20 @@ export declare class MarkdownFormatter extends BaseFormatter {
22
22
  * Get character count status indicator
23
23
  */
24
24
  private getCharacterStatus;
25
+ /**
26
+ * Get character count color function (Requirement 6)
27
+ * - Green if under 4000 characters
28
+ * - Yellow if between 4000 and 5000 characters
29
+ * - Red if over 5000 characters
30
+ */
31
+ private getCharacterCountColor;
32
+ /**
33
+ * Get duration severity color (Requirement 4)
34
+ * - Red for shots exceeding max duration (error)
35
+ * - Yellow for shots approaching max duration (warning)
36
+ * - Green for shots within acceptable range
37
+ */
38
+ private getDurationSeverityColor;
25
39
  /**
26
40
  * Get file extension
27
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-formatter.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/markdown-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAQ,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAyD9D;;OAEG;IACH,OAAO,CAAC,UAAU;IA0ElB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB"}
1
+ {"version":3,"file":"markdown-formatter.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/markdown-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAQ,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAyD9D;;OAEG;IACH,OAAO,CAAC,UAAU;IAiFlB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB"}
@@ -4,8 +4,12 @@
4
4
  *
5
5
  * Generates Markdown output with structured shot list, headings, metadata tables
6
6
  */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
7
10
  Object.defineProperty(exports, "__esModule", { value: true });
8
11
  exports.MarkdownFormatter = void 0;
12
+ const chalk_1 = __importDefault(require("chalk"));
9
13
  const base_formatter_1 = require("./base-formatter");
10
14
  /**
11
15
  * Markdown formatter implementation
@@ -33,9 +37,9 @@ class MarkdownFormatter extends base_formatter_1.BaseFormatter {
33
37
  parts.push('| Metric | Value |');
34
38
  parts.push('|--------|-------|');
35
39
  parts.push(`| Total Shots | ${shotList.totalShots} |`);
36
- parts.push(`| Total Duration | ${this.formatDuration(shotList.totalDuration)} |`);
40
+ parts.push(`| Total Duration | ${this.formatTime(shotList.totalDuration)} |`); // Requirement 3: MM:SS format
37
41
  parts.push(`| Total Characters | ${shotList.totalCharacters.toLocaleString()} |`);
38
- parts.push(`| Average Shot Length | ${this.getAverageShotLength(shotList)}s |`);
42
+ parts.push(`| Average Shot Length | ${this.formatTime(Math.round(shotList.totalDuration / shotList.totalShots))} |`); // Requirement 3: MM:SS format
39
43
  parts.push(`| Average Characters | ${this.getAverageCharCount(shotList)} |`);
40
44
  parts.push(`| Max Characters | ${this.getMaxCharCount(shotList)} |`);
41
45
  parts.push(`| Character Limit | ${maxChars} |`);
@@ -84,7 +88,12 @@ class MarkdownFormatter extends base_formatter_1.BaseFormatter {
84
88
  parts.push(`| Shot Type | ${shot.metadata.shotType} |`);
85
89
  parts.push(`| Camera Movement | ${shot.metadata.cameraMovement} |`);
86
90
  parts.push(`| Framing | ${shot.metadata.framing} |`);
87
- parts.push(`| Characters | ${shot.characterCount} / ${maxChars} (${charPercentage}%) ${charStatus} |`);
91
+ // Requirement 5: Visual Style Property
92
+ parts.push(`| Visual Style | ${shot.metadata.visualStyle || 'Reality'} |`);
93
+ // Requirement 6: Simplified character count display with chalk colors
94
+ const charCountColor = this.getCharacterCountColor(shot.characterCount, maxChars);
95
+ const coloredCharCount = charCountColor(shot.characterCount.toString());
96
+ parts.push(`| C: | ${coloredCharCount} / ${maxChars} |`);
88
97
  if (shot.metadata.technicalNotes && shot.metadata.technicalNotes.length > 0) {
89
98
  parts.push(`| Technical Notes | ${shot.metadata.technicalNotes.join(', ')} |`);
90
99
  }
@@ -142,6 +151,40 @@ class MarkdownFormatter extends base_formatter_1.BaseFormatter {
142
151
  return '🟡';
143
152
  return '🟢';
144
153
  }
154
+ /**
155
+ * Get character count color function (Requirement 6)
156
+ * - Green if under 4000 characters
157
+ * - Yellow if between 4000 and 5000 characters
158
+ * - Red if over 5000 characters
159
+ */
160
+ getCharacterCountColor(charCount, maxChars) {
161
+ if (charCount > 5000) {
162
+ return chalk_1.default.red;
163
+ }
164
+ else if (charCount >= 4000) {
165
+ return chalk_1.default.yellow;
166
+ }
167
+ else {
168
+ return chalk_1.default.green;
169
+ }
170
+ }
171
+ /**
172
+ * Get duration severity color (Requirement 4)
173
+ * - Red for shots exceeding max duration (error)
174
+ * - Yellow for shots approaching max duration (warning)
175
+ * - Green for shots within acceptable range
176
+ */
177
+ getDurationSeverityColor(duration, maxDuration) {
178
+ if (duration > maxDuration) {
179
+ return chalk_1.default.red; // Error: exceeds max
180
+ }
181
+ else if (duration >= maxDuration * 0.9) {
182
+ return chalk_1.default.yellow; // Warning: approaching limit
183
+ }
184
+ else {
185
+ return chalk_1.default.green; // OK
186
+ }
187
+ }
145
188
  /**
146
189
  * Get file extension
147
190
  */
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-formatter.js","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/markdown-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-formatter.js","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/formatter/markdown-formatter.ts"],"names":[],"mappings":"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"}