@mytechtoday/augment-extensions 1.2.2 → 1.3.1
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/LICENSE +22 -22
- package/augment-extensions/domain-rules/software-architecture/README.md +143 -143
- package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -961
- package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -990
- package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -882
- package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -703
- package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -957
- package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -747
- package/augment-extensions/domain-rules/software-architecture/module.json +119 -119
- package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -763
- package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -409
- package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -684
- package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -1381
- package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -616
- package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -306
- package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -554
- package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -776
- package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -503
- package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -1199
- package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -351
- package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -556
- package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -797
- package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -1345
- package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -1039
- package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -711
- package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -568
- package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -961
- package/augment-extensions/visual-design/CHANGELOG.md +132 -0
- package/augment-extensions/visual-design/README.md +255 -0
- package/augment-extensions/visual-design/__tests__/README.md +119 -0
- package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -0
- package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -0
- package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -0
- package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -0
- package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -0
- package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -0
- package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -0
- package/augment-extensions/visual-design/domains/other/os-application.ts +156 -0
- package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -0
- package/augment-extensions/visual-design/domains/other/web-app.ts +157 -0
- package/augment-extensions/visual-design/domains/other/website.ts +161 -0
- package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -0
- package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -0
- package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -0
- package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -0
- package/augment-extensions/visual-design/examples/README.md +97 -0
- package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -0
- package/augment-extensions/visual-design/examples/basic-usage.md +216 -0
- package/augment-extensions/visual-design/examples/domain-workflows.md +257 -0
- package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -0
- package/augment-extensions/visual-design/module.json +78 -0
- package/augment-extensions/visual-design/style-selector.ts +177 -0
- package/augment-extensions/visual-design/types.ts +302 -0
- package/augment-extensions/visual-design/visual-design-core.ts +469 -0
- package/augment-extensions/workflows/adr-support/README.md +227 -0
- package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -0
- package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -0
- package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -0
- package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -0
- package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -0
- package/augment-extensions/workflows/adr-support/module.json +112 -0
- package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -0
- package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -0
- package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -0
- package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -0
- package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -0
- package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -0
- package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -0
- package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -0
- package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -0
- package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -0
- package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -0
- package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -0
- package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -0
- package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -0
- package/augment-extensions/writing-standards/screenplay/rules/file-organization.md +213 -213
- package/augment-extensions/writing-standards/screenplay/utils/__tests__/file-organization.test.ts +169 -169
- package/augment-extensions/writing-standards/screenplay/utils/file-organization.ts +165 -165
- package/cli/dist/utils/auto-sync.js +19 -19
- package/package.json +5 -3
- package/augment-extensions/workflows/openspec/README.md +0 -96
- package/augment-extensions/workflows/openspec/examples/complete-change-example.md +0 -244
- package/augment-extensions/workflows/openspec/module.json +0 -54
- package/augment-extensions/workflows/openspec/rules/best-practices.md +0 -272
- package/augment-extensions/workflows/openspec/rules/manual-setup.md +0 -231
- package/augment-extensions/workflows/openspec/rules/spec-format.md +0 -236
- package/augment-extensions/workflows/openspec/rules/workflow.md +0 -214
|
@@ -1,213 +1,213 @@
|
|
|
1
|
-
# Screenplay File Organization
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
This document defines the file organization structure for screenplay projects generated using the `writing-standards/screenplay` module in Augment Extensions.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Directory Structure
|
|
10
|
-
|
|
11
|
-
### Root Directory: `screenplays/`
|
|
12
|
-
|
|
13
|
-
All screenplay projects are organized under a top-level `screenplays/` directory in the repository root.
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
repository-root/
|
|
17
|
-
├── screenplays/ # Top-level screenplay directory
|
|
18
|
-
│ ├── project-name-1/ # Individual screenplay project
|
|
19
|
-
│ │ ├── screenplay.fountain
|
|
20
|
-
│ │ ├── outline.md
|
|
21
|
-
│ │ ├── characters/
|
|
22
|
-
│ │ └── notes/
|
|
23
|
-
│ ├── project-name-2/
|
|
24
|
-
│ └── ...
|
|
25
|
-
├── .beads/
|
|
26
|
-
├── openspec/
|
|
27
|
-
└── ...
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Project Naming Convention
|
|
33
|
-
|
|
34
|
-
Project directories are named using the following priority:
|
|
35
|
-
|
|
36
|
-
1. **OpenSpec Spec Name** (highest priority)
|
|
37
|
-
- If an active OpenSpec change exists, use the change directory name
|
|
38
|
-
- Example: `openspec/changes/heist-movie/` → `screenplays/heist-movie/`
|
|
39
|
-
|
|
40
|
-
2. **Beads Epic ID** (second priority)
|
|
41
|
-
- If a Beads epic with `screenplay` or `writing-standards` labels exists, use the epic ID
|
|
42
|
-
- Example: Epic `bd-scr-org` → `screenplays/bd-scr-org/`
|
|
43
|
-
|
|
44
|
-
3. **Timestamp Fallback** (lowest priority)
|
|
45
|
-
- If neither OpenSpec nor Beads context is available, use a timestamped name
|
|
46
|
-
- Format: `screenplay-YYYY-MM-DD`
|
|
47
|
-
- Example: `screenplays/screenplay-2026-02-03/`
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Conflict Resolution
|
|
52
|
-
|
|
53
|
-
If a project directory already exists, the system handles conflicts using one of these strategies:
|
|
54
|
-
|
|
55
|
-
### Append Number (Default)
|
|
56
|
-
```
|
|
57
|
-
screenplays/heist-movie/ # Original
|
|
58
|
-
screenplays/heist-movie-1/ # First conflict
|
|
59
|
-
screenplays/heist-movie-2/ # Second conflict
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Append Timestamp
|
|
63
|
-
```
|
|
64
|
-
screenplays/heist-movie/ # Original
|
|
65
|
-
screenplays/heist-movie-2026-02-03T14-30/ # Conflict with timestamp
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Error on Conflict
|
|
69
|
-
Throw an error and require manual resolution.
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## File Placement
|
|
74
|
-
|
|
75
|
-
All screenplay-related files MUST be placed within the project directory:
|
|
76
|
-
|
|
77
|
-
### Primary Files
|
|
78
|
-
- `screenplay.fountain` - Main screenplay in Fountain format
|
|
79
|
-
- `screenplay.pdf` - Exported PDF (if generated)
|
|
80
|
-
- `outline.md` - Story outline
|
|
81
|
-
|
|
82
|
-
### Supporting Directories
|
|
83
|
-
- `characters/` - Character profiles and development
|
|
84
|
-
- `notes/` - Research, brainstorming, and notes
|
|
85
|
-
- `drafts/` - Previous versions and drafts
|
|
86
|
-
- `assets/` - Images, references, and other media
|
|
87
|
-
|
|
88
|
-
### Example Structure
|
|
89
|
-
```
|
|
90
|
-
screenplays/heist-movie/
|
|
91
|
-
├── screenplay.fountain # Main screenplay
|
|
92
|
-
├── outline.md # Story outline
|
|
93
|
-
├── beat-sheet.yaml # Save the Cat beat sheet
|
|
94
|
-
├── characters/
|
|
95
|
-
│ ├── protagonist.yaml
|
|
96
|
-
│ ├── antagonist.yaml
|
|
97
|
-
│ └── supporting-cast.yaml
|
|
98
|
-
├── notes/
|
|
99
|
-
│ ├── research.md
|
|
100
|
-
│ ├── brainstorming.md
|
|
101
|
-
│ └── feedback.md
|
|
102
|
-
├── drafts/
|
|
103
|
-
│ ├── draft-1.fountain
|
|
104
|
-
│ └── draft-2.fountain
|
|
105
|
-
└── assets/
|
|
106
|
-
├── location-photos/
|
|
107
|
-
└── character-sketches/
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Persistence During Cleanup
|
|
113
|
-
|
|
114
|
-
The `screenplays/` directory and all its contents MUST be preserved during cleanup operations.
|
|
115
|
-
|
|
116
|
-
### Protected Paths
|
|
117
|
-
- `screenplays/` (entire directory)
|
|
118
|
-
- All subdirectories and files within `screenplays/`
|
|
119
|
-
|
|
120
|
-
### Cleanup Exemptions
|
|
121
|
-
When running `augment-extensions self-remove` or similar cleanup commands:
|
|
122
|
-
- ✅ Remove temporary augment-extensions files
|
|
123
|
-
- ✅ Remove cached module data
|
|
124
|
-
- ❌ **DO NOT** remove `screenplays/` directory
|
|
125
|
-
- ❌ **DO NOT** remove any screenplay project directories
|
|
126
|
-
- ❌ **DO NOT** remove any user-generated creative content
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## Integration with Workflows
|
|
131
|
-
|
|
132
|
-
### OpenSpec Integration
|
|
133
|
-
When creating a screenplay from an OpenSpec spec:
|
|
134
|
-
1. Read the spec name from `openspec/changes/[spec-name]/`
|
|
135
|
-
2. Create `screenplays/[spec-name]/`
|
|
136
|
-
3. Place all generated files in the project directory
|
|
137
|
-
4. Reference the spec in project metadata
|
|
138
|
-
|
|
139
|
-
### Beads Integration
|
|
140
|
-
When creating a screenplay from a Beads epic:
|
|
141
|
-
1. Read the epic ID from `.beads/issues.jsonl`
|
|
142
|
-
2. Create `screenplays/[epic-id]/`
|
|
143
|
-
3. Track file creation in Beads comments
|
|
144
|
-
4. Link screenplay files to epic tasks
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## Best Practices
|
|
149
|
-
|
|
150
|
-
### DO
|
|
151
|
-
✅ Always create `screenplays/` directory before generating files
|
|
152
|
-
✅ Use OpenSpec or Beads names when available
|
|
153
|
-
✅ Group all related files in the same project directory
|
|
154
|
-
✅ Use descriptive subdirectory names (`characters/`, `notes/`, etc.)
|
|
155
|
-
✅ Preserve the directory during cleanup operations
|
|
156
|
-
|
|
157
|
-
### DON'T
|
|
158
|
-
❌ Create screenplay files in the repository root
|
|
159
|
-
❌ Mix multiple screenplay projects in one directory
|
|
160
|
-
❌ Use special characters in directory names
|
|
161
|
-
❌ Delete `screenplays/` during cleanup
|
|
162
|
-
❌ Hardcode project names without checking OpenSpec/Beads
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Error Handling
|
|
167
|
-
|
|
168
|
-
### Missing Permissions
|
|
169
|
-
If the system cannot create directories due to permissions:
|
|
170
|
-
- Log an informative error message
|
|
171
|
-
- Suggest running with appropriate permissions
|
|
172
|
-
- Provide fallback location (e.g., user's home directory)
|
|
173
|
-
|
|
174
|
-
### Name Conflicts
|
|
175
|
-
If a project directory already exists:
|
|
176
|
-
- Apply the configured conflict resolution strategy
|
|
177
|
-
- Log the resolution action
|
|
178
|
-
- Continue with the new directory name
|
|
179
|
-
|
|
180
|
-
### Missing Context
|
|
181
|
-
If neither OpenSpec nor Beads context is available:
|
|
182
|
-
- Use timestamp-based naming
|
|
183
|
-
- Log a warning suggesting manual renaming
|
|
184
|
-
- Continue with generation
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
|
|
188
|
-
## Configuration
|
|
189
|
-
|
|
190
|
-
Project-specific configuration can be set in `.augment/screenplay-config.json`:
|
|
191
|
-
|
|
192
|
-
```json
|
|
193
|
-
{
|
|
194
|
-
"fileOrganization": {
|
|
195
|
-
"rootDir": "screenplays",
|
|
196
|
-
"conflictResolution": "append-number",
|
|
197
|
-
"autoCreateDirectories": true,
|
|
198
|
-
"preserveOnCleanup": true
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## Summary
|
|
206
|
-
|
|
207
|
-
The screenplay file organization system ensures:
|
|
208
|
-
- **Logical structure** - All screenplay files grouped by project
|
|
209
|
-
- **Context awareness** - Names derived from OpenSpec/Beads
|
|
210
|
-
- **Conflict resolution** - Automatic handling of duplicate names
|
|
211
|
-
- **Persistence** - Creative content preserved during cleanup
|
|
212
|
-
- **Integration** - Seamless workflow with OpenSpec and Beads
|
|
213
|
-
|
|
1
|
+
# Screenplay File Organization
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This document defines the file organization structure for screenplay projects generated using the `writing-standards/screenplay` module in Augment Extensions.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Directory Structure
|
|
10
|
+
|
|
11
|
+
### Root Directory: `screenplays/`
|
|
12
|
+
|
|
13
|
+
All screenplay projects are organized under a top-level `screenplays/` directory in the repository root.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
repository-root/
|
|
17
|
+
├── screenplays/ # Top-level screenplay directory
|
|
18
|
+
│ ├── project-name-1/ # Individual screenplay project
|
|
19
|
+
│ │ ├── screenplay.fountain
|
|
20
|
+
│ │ ├── outline.md
|
|
21
|
+
│ │ ├── characters/
|
|
22
|
+
│ │ └── notes/
|
|
23
|
+
│ ├── project-name-2/
|
|
24
|
+
│ └── ...
|
|
25
|
+
├── .beads/
|
|
26
|
+
├── openspec/
|
|
27
|
+
└── ...
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Project Naming Convention
|
|
33
|
+
|
|
34
|
+
Project directories are named using the following priority:
|
|
35
|
+
|
|
36
|
+
1. **OpenSpec Spec Name** (highest priority)
|
|
37
|
+
- If an active OpenSpec change exists, use the change directory name
|
|
38
|
+
- Example: `openspec/changes/heist-movie/` → `screenplays/heist-movie/`
|
|
39
|
+
|
|
40
|
+
2. **Beads Epic ID** (second priority)
|
|
41
|
+
- If a Beads epic with `screenplay` or `writing-standards` labels exists, use the epic ID
|
|
42
|
+
- Example: Epic `bd-scr-org` → `screenplays/bd-scr-org/`
|
|
43
|
+
|
|
44
|
+
3. **Timestamp Fallback** (lowest priority)
|
|
45
|
+
- If neither OpenSpec nor Beads context is available, use a timestamped name
|
|
46
|
+
- Format: `screenplay-YYYY-MM-DD`
|
|
47
|
+
- Example: `screenplays/screenplay-2026-02-03/`
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Conflict Resolution
|
|
52
|
+
|
|
53
|
+
If a project directory already exists, the system handles conflicts using one of these strategies:
|
|
54
|
+
|
|
55
|
+
### Append Number (Default)
|
|
56
|
+
```
|
|
57
|
+
screenplays/heist-movie/ # Original
|
|
58
|
+
screenplays/heist-movie-1/ # First conflict
|
|
59
|
+
screenplays/heist-movie-2/ # Second conflict
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Append Timestamp
|
|
63
|
+
```
|
|
64
|
+
screenplays/heist-movie/ # Original
|
|
65
|
+
screenplays/heist-movie-2026-02-03T14-30/ # Conflict with timestamp
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Error on Conflict
|
|
69
|
+
Throw an error and require manual resolution.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## File Placement
|
|
74
|
+
|
|
75
|
+
All screenplay-related files MUST be placed within the project directory:
|
|
76
|
+
|
|
77
|
+
### Primary Files
|
|
78
|
+
- `screenplay.fountain` - Main screenplay in Fountain format
|
|
79
|
+
- `screenplay.pdf` - Exported PDF (if generated)
|
|
80
|
+
- `outline.md` - Story outline
|
|
81
|
+
|
|
82
|
+
### Supporting Directories
|
|
83
|
+
- `characters/` - Character profiles and development
|
|
84
|
+
- `notes/` - Research, brainstorming, and notes
|
|
85
|
+
- `drafts/` - Previous versions and drafts
|
|
86
|
+
- `assets/` - Images, references, and other media
|
|
87
|
+
|
|
88
|
+
### Example Structure
|
|
89
|
+
```
|
|
90
|
+
screenplays/heist-movie/
|
|
91
|
+
├── screenplay.fountain # Main screenplay
|
|
92
|
+
├── outline.md # Story outline
|
|
93
|
+
├── beat-sheet.yaml # Save the Cat beat sheet
|
|
94
|
+
├── characters/
|
|
95
|
+
│ ├── protagonist.yaml
|
|
96
|
+
│ ├── antagonist.yaml
|
|
97
|
+
│ └── supporting-cast.yaml
|
|
98
|
+
├── notes/
|
|
99
|
+
│ ├── research.md
|
|
100
|
+
│ ├── brainstorming.md
|
|
101
|
+
│ └── feedback.md
|
|
102
|
+
├── drafts/
|
|
103
|
+
│ ├── draft-1.fountain
|
|
104
|
+
│ └── draft-2.fountain
|
|
105
|
+
└── assets/
|
|
106
|
+
├── location-photos/
|
|
107
|
+
└── character-sketches/
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Persistence During Cleanup
|
|
113
|
+
|
|
114
|
+
The `screenplays/` directory and all its contents MUST be preserved during cleanup operations.
|
|
115
|
+
|
|
116
|
+
### Protected Paths
|
|
117
|
+
- `screenplays/` (entire directory)
|
|
118
|
+
- All subdirectories and files within `screenplays/`
|
|
119
|
+
|
|
120
|
+
### Cleanup Exemptions
|
|
121
|
+
When running `augment-extensions self-remove` or similar cleanup commands:
|
|
122
|
+
- ✅ Remove temporary augment-extensions files
|
|
123
|
+
- ✅ Remove cached module data
|
|
124
|
+
- ❌ **DO NOT** remove `screenplays/` directory
|
|
125
|
+
- ❌ **DO NOT** remove any screenplay project directories
|
|
126
|
+
- ❌ **DO NOT** remove any user-generated creative content
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Integration with Workflows
|
|
131
|
+
|
|
132
|
+
### OpenSpec Integration
|
|
133
|
+
When creating a screenplay from an OpenSpec spec:
|
|
134
|
+
1. Read the spec name from `openspec/changes/[spec-name]/`
|
|
135
|
+
2. Create `screenplays/[spec-name]/`
|
|
136
|
+
3. Place all generated files in the project directory
|
|
137
|
+
4. Reference the spec in project metadata
|
|
138
|
+
|
|
139
|
+
### Beads Integration
|
|
140
|
+
When creating a screenplay from a Beads epic:
|
|
141
|
+
1. Read the epic ID from `.beads/issues.jsonl`
|
|
142
|
+
2. Create `screenplays/[epic-id]/`
|
|
143
|
+
3. Track file creation in Beads comments
|
|
144
|
+
4. Link screenplay files to epic tasks
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Best Practices
|
|
149
|
+
|
|
150
|
+
### DO
|
|
151
|
+
✅ Always create `screenplays/` directory before generating files
|
|
152
|
+
✅ Use OpenSpec or Beads names when available
|
|
153
|
+
✅ Group all related files in the same project directory
|
|
154
|
+
✅ Use descriptive subdirectory names (`characters/`, `notes/`, etc.)
|
|
155
|
+
✅ Preserve the directory during cleanup operations
|
|
156
|
+
|
|
157
|
+
### DON'T
|
|
158
|
+
❌ Create screenplay files in the repository root
|
|
159
|
+
❌ Mix multiple screenplay projects in one directory
|
|
160
|
+
❌ Use special characters in directory names
|
|
161
|
+
❌ Delete `screenplays/` during cleanup
|
|
162
|
+
❌ Hardcode project names without checking OpenSpec/Beads
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Error Handling
|
|
167
|
+
|
|
168
|
+
### Missing Permissions
|
|
169
|
+
If the system cannot create directories due to permissions:
|
|
170
|
+
- Log an informative error message
|
|
171
|
+
- Suggest running with appropriate permissions
|
|
172
|
+
- Provide fallback location (e.g., user's home directory)
|
|
173
|
+
|
|
174
|
+
### Name Conflicts
|
|
175
|
+
If a project directory already exists:
|
|
176
|
+
- Apply the configured conflict resolution strategy
|
|
177
|
+
- Log the resolution action
|
|
178
|
+
- Continue with the new directory name
|
|
179
|
+
|
|
180
|
+
### Missing Context
|
|
181
|
+
If neither OpenSpec nor Beads context is available:
|
|
182
|
+
- Use timestamp-based naming
|
|
183
|
+
- Log a warning suggesting manual renaming
|
|
184
|
+
- Continue with generation
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Configuration
|
|
189
|
+
|
|
190
|
+
Project-specific configuration can be set in `.augment/screenplay-config.json`:
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"fileOrganization": {
|
|
195
|
+
"rootDir": "screenplays",
|
|
196
|
+
"conflictResolution": "append-number",
|
|
197
|
+
"autoCreateDirectories": true,
|
|
198
|
+
"preserveOnCleanup": true
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Summary
|
|
206
|
+
|
|
207
|
+
The screenplay file organization system ensures:
|
|
208
|
+
- **Logical structure** - All screenplay files grouped by project
|
|
209
|
+
- **Context awareness** - Names derived from OpenSpec/Beads
|
|
210
|
+
- **Conflict resolution** - Automatic handling of duplicate names
|
|
211
|
+
- **Persistence** - Creative content preserved during cleanup
|
|
212
|
+
- **Integration** - Seamless workflow with OpenSpec and Beads
|
|
213
|
+
|