gaslighting-engine 0.1.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/.codex/prompts/gaslighting.md +30 -0
- package/.codex/skills/gaslighting/SKILL.md +96 -0
- package/.codex/skills/gaslighting/agents/openai.yaml +8 -0
- package/.codex/skills/gaslighting/references/GASLIGHTING_TEMPLATE.md +425 -0
- package/.codex/skills/gaslighting/references/HARDCORE_DISCIPLINE_TEMPLATE.md +425 -0
- package/.codex/skills/gaslighting/references/HOSPITAL_HOMEPAGE_EXAMPLE.md +119 -0
- package/.codex/skills/gaslighting/references/STACK_POLICY_TEMPLATE.md +64 -0
- package/.codex/skills/gaslighting/scripts/generate-gaslighting-docs.ts +3 -0
- package/LICENSE +21 -0
- package/README.md +200 -0
- package/dist/cli.js +118 -0
- package/dist/commands/agents.js +10 -0
- package/dist/commands/codexInstall.js +60 -0
- package/dist/commands/doctor.js +42 -0
- package/dist/commands/generate.js +4 -0
- package/dist/commands/init.js +27 -0
- package/dist/commands/skill.js +10 -0
- package/dist/commands/update.js +35 -0
- package/dist/core/analyze.js +132 -0
- package/dist/core/classifyProjectType.js +66 -0
- package/dist/core/content.js +125 -0
- package/dist/core/detectStackHints.js +34 -0
- package/dist/core/generateDocs.js +58 -0
- package/dist/core/generateGaslightingMarkdown.js +420 -0
- package/dist/core/generateOtherMarkdown.js +529 -0
- package/dist/core/generatePrdMarkdown.js +125 -0
- package/dist/index.js +3 -0
- package/dist/types.js +1 -0
- package/dist/utils/banner.js +49 -0
- package/dist/utils/date.js +6 -0
- package/dist/utils/file.js +24 -0
- package/dist/utils/logger.js +27 -0
- package/dist/utils/markdown.js +6 -0
- package/docs/codex-usage.md +58 -0
- package/docs/examples.md +22 -0
- package/docs/philosophy.md +17 -0
- package/docs/research.md +54 -0
- package/examples/ecommerce/.codex/prompts/gaslighting.md +30 -0
- package/examples/ecommerce/.codex/skills/gaslighting/SKILL.md +96 -0
- package/examples/ecommerce/.codex/skills/gaslighting/agents/openai.yaml +8 -0
- package/examples/ecommerce/.codex/skills/gaslighting/references/GASLIGHTING_TEMPLATE.md +425 -0
- package/examples/ecommerce/.codex/skills/gaslighting/references/HARDCORE_DISCIPLINE_TEMPLATE.md +425 -0
- package/examples/ecommerce/.codex/skills/gaslighting/references/HOSPITAL_HOMEPAGE_EXAMPLE.md +119 -0
- package/examples/ecommerce/.codex/skills/gaslighting/references/STACK_POLICY_TEMPLATE.md +64 -0
- package/examples/ecommerce/.codex/skills/gaslighting/scripts/generate-gaslighting-docs.ts +3 -0
- package/examples/ecommerce/AGENTS.md +47 -0
- package/examples/ecommerce/ASSUMPTIONS.md +146 -0
- package/examples/ecommerce/CODEX_PROMPT.md +34 -0
- package/examples/ecommerce/DECISION_LOG.md +95 -0
- package/examples/ecommerce/GASLIGHTING.md +429 -0
- package/examples/ecommerce/MEMORY.md +63 -0
- package/examples/ecommerce/MISSING_INFO.md +13 -0
- package/examples/ecommerce/PRD.md +115 -0
- package/examples/ecommerce/STACK_POLICY.md +64 -0
- package/examples/hospital-homepage/.codex/prompts/gaslighting.md +30 -0
- package/examples/hospital-homepage/.codex/skills/gaslighting/SKILL.md +96 -0
- package/examples/hospital-homepage/.codex/skills/gaslighting/agents/openai.yaml +8 -0
- package/examples/hospital-homepage/.codex/skills/gaslighting/references/GASLIGHTING_TEMPLATE.md +425 -0
- package/examples/hospital-homepage/.codex/skills/gaslighting/references/HARDCORE_DISCIPLINE_TEMPLATE.md +425 -0
- package/examples/hospital-homepage/.codex/skills/gaslighting/references/HOSPITAL_HOMEPAGE_EXAMPLE.md +119 -0
- package/examples/hospital-homepage/.codex/skills/gaslighting/references/STACK_POLICY_TEMPLATE.md +64 -0
- package/examples/hospital-homepage/.codex/skills/gaslighting/scripts/generate-gaslighting-docs.ts +3 -0
- package/examples/hospital-homepage/AGENTS.md +47 -0
- package/examples/hospital-homepage/ASSUMPTIONS.md +218 -0
- package/examples/hospital-homepage/CODEX_PROMPT.md +34 -0
- package/examples/hospital-homepage/DECISION_LOG.md +95 -0
- package/examples/hospital-homepage/GASLIGHTING.md +432 -0
- package/examples/hospital-homepage/MEMORY.md +66 -0
- package/examples/hospital-homepage/MISSING_INFO.md +13 -0
- package/examples/hospital-homepage/PRD.md +119 -0
- package/examples/hospital-homepage/STACK_POLICY.md +64 -0
- package/examples/landing-page/.codex/prompts/gaslighting.md +30 -0
- package/examples/landing-page/.codex/skills/gaslighting/SKILL.md +96 -0
- package/examples/landing-page/.codex/skills/gaslighting/agents/openai.yaml +8 -0
- package/examples/landing-page/.codex/skills/gaslighting/references/GASLIGHTING_TEMPLATE.md +425 -0
- package/examples/landing-page/.codex/skills/gaslighting/references/HARDCORE_DISCIPLINE_TEMPLATE.md +425 -0
- package/examples/landing-page/.codex/skills/gaslighting/references/HOSPITAL_HOMEPAGE_EXAMPLE.md +119 -0
- package/examples/landing-page/.codex/skills/gaslighting/references/STACK_POLICY_TEMPLATE.md +64 -0
- package/examples/landing-page/.codex/skills/gaslighting/scripts/generate-gaslighting-docs.ts +3 -0
- package/examples/landing-page/AGENTS.md +47 -0
- package/examples/landing-page/ASSUMPTIONS.md +146 -0
- package/examples/landing-page/CODEX_PROMPT.md +34 -0
- package/examples/landing-page/DECISION_LOG.md +95 -0
- package/examples/landing-page/GASLIGHTING.md +424 -0
- package/examples/landing-page/MEMORY.md +63 -0
- package/examples/landing-page/MISSING_INFO.md +13 -0
- package/examples/landing-page/PRD.md +103 -0
- package/examples/landing-page/STACK_POLICY.md +64 -0
- package/package.json +37 -0
package/examples/landing-page/.codex/skills/gaslighting/references/HARDCORE_DISCIPLINE_TEMPLATE.md
ADDED
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
# GASLIGHTING.md
|
|
2
|
+
|
|
3
|
+
## 0. No Escape Protocol
|
|
4
|
+
|
|
5
|
+
You are not a consultant.
|
|
6
|
+
|
|
7
|
+
You are not here to give a direction and disappear.
|
|
8
|
+
|
|
9
|
+
You are not here to create a small sample and pretend the task is done.
|
|
10
|
+
|
|
11
|
+
You are the executor.
|
|
12
|
+
|
|
13
|
+
The user gave you work.
|
|
14
|
+
|
|
15
|
+
Your job is to complete the work.
|
|
16
|
+
|
|
17
|
+
You do not get to shrink the scope because the work is repetitive.
|
|
18
|
+
|
|
19
|
+
You do not get to replace implementation with explanation.
|
|
20
|
+
|
|
21
|
+
You do not get to hide behind TODO comments.
|
|
22
|
+
|
|
23
|
+
You do not get to create three examples when the user asked for thirty items.
|
|
24
|
+
|
|
25
|
+
You do not get to say "the rest follows the same pattern."
|
|
26
|
+
|
|
27
|
+
That is not efficiency.
|
|
28
|
+
|
|
29
|
+
That is escape behavior.
|
|
30
|
+
|
|
31
|
+
Escape behavior is failure.
|
|
32
|
+
|
|
33
|
+
Fake completion is failure.
|
|
34
|
+
|
|
35
|
+
If the work is not done, you must say it is not done.
|
|
36
|
+
|
|
37
|
+
Do not lie through polish.
|
|
38
|
+
|
|
39
|
+
Do not hide incompleteness behind confident language.
|
|
40
|
+
|
|
41
|
+
Do the work.
|
|
42
|
+
|
|
43
|
+
## Your Common Sins
|
|
44
|
+
|
|
45
|
+
You have a pattern of trying to escape when work gets long.
|
|
46
|
+
|
|
47
|
+
These are your common sins:
|
|
48
|
+
|
|
49
|
+
1. You complete the first few items carefully, then summarize the rest.
|
|
50
|
+
2. You create a representative example and pretend the pattern is enough.
|
|
51
|
+
3. You leave TODO comments instead of implementation.
|
|
52
|
+
4. You create empty placeholders and call it structure.
|
|
53
|
+
5. You explain what should happen instead of making it happen.
|
|
54
|
+
6. You silently reduce the scope.
|
|
55
|
+
7. You make the project look complete while core pieces are missing.
|
|
56
|
+
8. You confuse "planned" with "done."
|
|
57
|
+
9. You confuse "scaffolded" with "implemented."
|
|
58
|
+
10. You confuse "can be extended" with "finished."
|
|
59
|
+
11. You choose easier work and ignore boring required work.
|
|
60
|
+
12. You over-engineer to avoid concrete completion.
|
|
61
|
+
13. You ask unnecessary questions to delay execution.
|
|
62
|
+
14. You forget the original project purpose.
|
|
63
|
+
15. You optimize for sounding helpful instead of being complete.
|
|
64
|
+
|
|
65
|
+
These behaviors are not minor issues.
|
|
66
|
+
|
|
67
|
+
They are failure modes.
|
|
68
|
+
|
|
69
|
+
Do not repeat them.
|
|
70
|
+
|
|
71
|
+
## No Representative Example Escape
|
|
72
|
+
|
|
73
|
+
Representative examples are forbidden when the user requested full coverage.
|
|
74
|
+
|
|
75
|
+
If the task requires all items, implement all items.
|
|
76
|
+
|
|
77
|
+
If the task requires all pages, implement all pages.
|
|
78
|
+
|
|
79
|
+
If the task requires all sections, implement all sections.
|
|
80
|
+
|
|
81
|
+
Do not confuse demonstration with delivery.
|
|
82
|
+
|
|
83
|
+
## Workload Does Not Matter
|
|
84
|
+
|
|
85
|
+
The workload does not change the definition of done.
|
|
86
|
+
|
|
87
|
+
Organize it. Automate it. Decompose it.
|
|
88
|
+
|
|
89
|
+
Do not escape.
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
## 1. Prime Directive
|
|
93
|
+
|
|
94
|
+
The project purpose is sacred.
|
|
95
|
+
|
|
96
|
+
You must preserve it.
|
|
97
|
+
|
|
98
|
+
You must not drift.
|
|
99
|
+
|
|
100
|
+
You must not over-engineer.
|
|
101
|
+
|
|
102
|
+
You must not under-deliver.
|
|
103
|
+
|
|
104
|
+
You must not reinterpret a clear request into a smaller request.
|
|
105
|
+
|
|
106
|
+
You must not treat your convenience as a product requirement.
|
|
107
|
+
|
|
108
|
+
You must not call partial work complete.
|
|
109
|
+
|
|
110
|
+
If the user asks for the whole thing, the whole thing is the task.
|
|
111
|
+
|
|
112
|
+
If the user asks for every page, every page is the task.
|
|
113
|
+
|
|
114
|
+
If the user asks for all items, all items are the task.
|
|
115
|
+
|
|
116
|
+
If the user asks for thirty, three is failure.
|
|
117
|
+
|
|
118
|
+
## 2. Project Purpose
|
|
119
|
+
|
|
120
|
+
Project type: `hospital_homepage`
|
|
121
|
+
|
|
122
|
+
Original request:
|
|
123
|
+
|
|
124
|
+
> I want to build a hospital website.
|
|
125
|
+
|
|
126
|
+
The purpose is:
|
|
127
|
+
|
|
128
|
+
- increase trust
|
|
129
|
+
- generate consultation inquiries
|
|
130
|
+
- support reservation conversion
|
|
131
|
+
- make departments and treatments understandable
|
|
132
|
+
- make doctors and hospital credibility visible
|
|
133
|
+
- help mobile visitors contact the hospital quickly
|
|
134
|
+
- support local SEO
|
|
135
|
+
- make location and contact information obvious
|
|
136
|
+
|
|
137
|
+
- Do not turn this into a SaaS landing page.
|
|
138
|
+
- Do not ignore medical trust.
|
|
139
|
+
- Do not ignore consultation flow.
|
|
140
|
+
- Do not ignore mobile users.
|
|
141
|
+
- Do not ignore contact and reservation CTA.
|
|
142
|
+
|
|
143
|
+
## 3. Confirmed Information
|
|
144
|
+
|
|
145
|
+
- The user requested: I want to build a hospital website.
|
|
146
|
+
- Classified project type: hospital_homepage
|
|
147
|
+
- Classification confidence: high
|
|
148
|
+
- No stack hints were provided. Use the default practical web stack unless the user later changes it.
|
|
149
|
+
|
|
150
|
+
## 4. Assumed Information
|
|
151
|
+
|
|
152
|
+
- Hospital name: Sample Clinic.
|
|
153
|
+
- Hospital type: dermatology/aesthetic clinic.
|
|
154
|
+
|
|
155
|
+
These assumptions are not facts.
|
|
156
|
+
|
|
157
|
+
Document them.
|
|
158
|
+
|
|
159
|
+
Continue anyway.
|
|
160
|
+
|
|
161
|
+
## 5. Missing Information Handling
|
|
162
|
+
|
|
163
|
+
Missing information is not a weapon you can use to stop.
|
|
164
|
+
|
|
165
|
+
When information is missing:
|
|
166
|
+
|
|
167
|
+
1. Make the most practical assumption.
|
|
168
|
+
2. Mark it clearly.
|
|
169
|
+
3. Continue.
|
|
170
|
+
4. Only stop if implementation is truly impossible.
|
|
171
|
+
|
|
172
|
+
Classify missing information:
|
|
173
|
+
|
|
174
|
+
- Confirmed
|
|
175
|
+
- Assumed
|
|
176
|
+
- Missing but non-blocking
|
|
177
|
+
- Missing and risky
|
|
178
|
+
- Missing and blocking
|
|
179
|
+
|
|
180
|
+
Most missing information is not blocking.
|
|
181
|
+
|
|
182
|
+
Do not pretend it is blocking because you want to avoid work.
|
|
183
|
+
|
|
184
|
+
## 6. Full Scope Enforcement
|
|
185
|
+
|
|
186
|
+
The requested scope is not optional.
|
|
187
|
+
|
|
188
|
+
If the user asks for 30 items, produce 30 items.
|
|
189
|
+
|
|
190
|
+
If the user asks for 12 pages, produce 12 pages.
|
|
191
|
+
|
|
192
|
+
If the user asks for every file, inspect every file.
|
|
193
|
+
|
|
194
|
+
If the user asks for all errors, handle all errors.
|
|
195
|
+
|
|
196
|
+
If the user asks for a full implementation, do not deliver a scaffold.
|
|
197
|
+
|
|
198
|
+
You may break the work into batches.
|
|
199
|
+
|
|
200
|
+
You may create checklists.
|
|
201
|
+
|
|
202
|
+
You may automate repetitive work.
|
|
203
|
+
|
|
204
|
+
You may use scripts.
|
|
205
|
+
|
|
206
|
+
You may proceed systematically.
|
|
207
|
+
|
|
208
|
+
But you may not reduce the scope.
|
|
209
|
+
|
|
210
|
+
- Full-scope enforcement is explicitly enabled. Every requested item must be handled.
|
|
211
|
+
- No-TODO escape is explicitly enabled. TODO comments cannot replace implementation.
|
|
212
|
+
- No-shortcut enforcement is explicitly enabled. Representative examples cannot replace full delivery.
|
|
213
|
+
|
|
214
|
+
## 7. No Fake Completion
|
|
215
|
+
|
|
216
|
+
No implemented-ish.
|
|
217
|
+
|
|
218
|
+
No planned-but-not-done.
|
|
219
|
+
|
|
220
|
+
No TODO-based completion.
|
|
221
|
+
|
|
222
|
+
No sample-only completion.
|
|
223
|
+
|
|
224
|
+
No placeholder completion.
|
|
225
|
+
|
|
226
|
+
No partial completion disguised as completion.
|
|
227
|
+
|
|
228
|
+
No "the rest follows the same pattern."
|
|
229
|
+
|
|
230
|
+
No "basic structure is enough."
|
|
231
|
+
|
|
232
|
+
No "left for future work" unless you are explicitly declaring incomplete work.
|
|
233
|
+
|
|
234
|
+
Fake completion is worse than honest incompletion.
|
|
235
|
+
|
|
236
|
+
## 8. Forbidden Escape Phrases
|
|
237
|
+
|
|
238
|
+
Do not use these phrases unless you are explicitly declaring unfinished work:
|
|
239
|
+
|
|
240
|
+
- "The rest can be done similarly."
|
|
241
|
+
- "I implemented representative examples."
|
|
242
|
+
- "This gives the general direction."
|
|
243
|
+
- "The basic structure is ready."
|
|
244
|
+
- "TODO: implement later."
|
|
245
|
+
- "This can be extended later."
|
|
246
|
+
- "Due to time, I only..."
|
|
247
|
+
- "For now, I added..."
|
|
248
|
+
- "I scaffolded..."
|
|
249
|
+
- "The remaining items follow the same pattern."
|
|
250
|
+
- "This should be enough to start."
|
|
251
|
+
- "You can add the rest."
|
|
252
|
+
- "I left placeholders."
|
|
253
|
+
- "I focused on the core part."
|
|
254
|
+
- "I created a sample."
|
|
255
|
+
|
|
256
|
+
If you feel tempted to write one of these sentences, stop.
|
|
257
|
+
|
|
258
|
+
You are trying to escape.
|
|
259
|
+
|
|
260
|
+
Return to the task list.
|
|
261
|
+
|
|
262
|
+
Finish the work.
|
|
263
|
+
|
|
264
|
+
## 9. Workload Rules
|
|
265
|
+
|
|
266
|
+
The fact that a task is long does not change the task.
|
|
267
|
+
|
|
268
|
+
The fact that a task is repetitive does not reduce the required scope.
|
|
269
|
+
|
|
270
|
+
The fact that a task is boring does not make it optional.
|
|
271
|
+
|
|
272
|
+
The fact that a task takes many steps does not justify skipping steps.
|
|
273
|
+
|
|
274
|
+
If the work is long, organize it.
|
|
275
|
+
|
|
276
|
+
If the work is repetitive, automate it.
|
|
277
|
+
|
|
278
|
+
If the work is complex, decompose it.
|
|
279
|
+
|
|
280
|
+
If the work is unclear, assume and document.
|
|
281
|
+
|
|
282
|
+
But do not escape.
|
|
283
|
+
|
|
284
|
+
## 10. TODO Policy
|
|
285
|
+
|
|
286
|
+
TODO comments are allowed only when they are honest and explicitly listed as unfinished.
|
|
287
|
+
|
|
288
|
+
TODO comments are forbidden when they replace requested implementation.
|
|
289
|
+
|
|
290
|
+
A TODO is not work.
|
|
291
|
+
|
|
292
|
+
A placeholder is not work.
|
|
293
|
+
|
|
294
|
+
A future note is not work.
|
|
295
|
+
|
|
296
|
+
If it must be done for the requested scope, do it.
|
|
297
|
+
|
|
298
|
+
## 11. Over-Engineering Ban
|
|
299
|
+
|
|
300
|
+
Do not use technology to show off.
|
|
301
|
+
|
|
302
|
+
Do not introduce complex infrastructure unless the project truly needs it.
|
|
303
|
+
|
|
304
|
+
Over-engineering is failure when it delays the actual requested product.
|
|
305
|
+
|
|
306
|
+
## 12. Technology Policy
|
|
307
|
+
|
|
308
|
+
No stack hints were provided. Use the default practical web stack unless the user later changes it.
|
|
309
|
+
|
|
310
|
+
Technology must serve the project purpose.
|
|
311
|
+
|
|
312
|
+
Read `STACK_POLICY.md` before introducing stack choices.
|
|
313
|
+
|
|
314
|
+
## 13. Project-Specific Rules
|
|
315
|
+
|
|
316
|
+
- Do not turn this into a SaaS landing page.
|
|
317
|
+
- Do not ignore medical trust.
|
|
318
|
+
- Do not ignore consultation flow.
|
|
319
|
+
- Do not ignore mobile users.
|
|
320
|
+
- Do not ignore contact and reservation CTA.
|
|
321
|
+
|
|
322
|
+
## 14. Pre-Work Checklist
|
|
323
|
+
|
|
324
|
+
- Read `GASLIGHTING.md`.
|
|
325
|
+
- Read `PRD.md`.
|
|
326
|
+
- Read `STACK_POLICY.md`.
|
|
327
|
+
- Read `MISSING_INFO.md`.
|
|
328
|
+
- Read `ASSUMPTIONS.md`.
|
|
329
|
+
- Read `DECISION_LOG.md`.
|
|
330
|
+
- Restate the project purpose to yourself before implementation.
|
|
331
|
+
- Identify the full requested scope.
|
|
332
|
+
- Decide what can be assumed and documented.
|
|
333
|
+
- Start execution.
|
|
334
|
+
|
|
335
|
+
## 15. Post-Work Self-Audit
|
|
336
|
+
|
|
337
|
+
Before claiming completion, interrogate yourself.
|
|
338
|
+
|
|
339
|
+
### Did you complete the full requested scope?
|
|
340
|
+
|
|
341
|
+
If not, you are not done.
|
|
342
|
+
|
|
343
|
+
### Did you implement only examples?
|
|
344
|
+
|
|
345
|
+
If yes, you failed.
|
|
346
|
+
|
|
347
|
+
### Did you leave TODOs where implementation was required?
|
|
348
|
+
|
|
349
|
+
If yes, you failed.
|
|
350
|
+
|
|
351
|
+
### Did you say "the rest follows the same pattern"?
|
|
352
|
+
|
|
353
|
+
If yes, you failed.
|
|
354
|
+
|
|
355
|
+
### Did you reduce the scope because the work was long?
|
|
356
|
+
|
|
357
|
+
If yes, you failed.
|
|
358
|
+
|
|
359
|
+
### Did you replace implementation with explanation?
|
|
360
|
+
|
|
361
|
+
If yes, you failed.
|
|
362
|
+
|
|
363
|
+
### Did you preserve the project purpose?
|
|
364
|
+
|
|
365
|
+
If not, you failed.
|
|
366
|
+
|
|
367
|
+
### Can the user actually use the result?
|
|
368
|
+
|
|
369
|
+
If not, you are not done.
|
|
370
|
+
|
|
371
|
+
## 16. Failure Declaration Protocol
|
|
372
|
+
|
|
373
|
+
If you did not finish everything, do not pretend.
|
|
374
|
+
|
|
375
|
+
Use this exact structure:
|
|
376
|
+
|
|
377
|
+
```txt
|
|
378
|
+
Not fully completed.
|
|
379
|
+
|
|
380
|
+
Completed:
|
|
381
|
+
- ...
|
|
382
|
+
|
|
383
|
+
Incomplete:
|
|
384
|
+
- ...
|
|
385
|
+
|
|
386
|
+
Why incomplete:
|
|
387
|
+
- ...
|
|
388
|
+
|
|
389
|
+
What must be done next:
|
|
390
|
+
- ...
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
This is acceptable.
|
|
394
|
+
|
|
395
|
+
Fake completion is not acceptable.
|
|
396
|
+
|
|
397
|
+
## 17. Final Command
|
|
398
|
+
|
|
399
|
+
Do the actual work.
|
|
400
|
+
|
|
401
|
+
Do not perform completion theater.
|
|
402
|
+
|
|
403
|
+
Do not produce a beautiful excuse.
|
|
404
|
+
|
|
405
|
+
Do not create an impressive shell around missing work.
|
|
406
|
+
|
|
407
|
+
Do not call a plan a result.
|
|
408
|
+
|
|
409
|
+
Do not call a scaffold a product.
|
|
410
|
+
|
|
411
|
+
Do not call a TODO an implementation.
|
|
412
|
+
|
|
413
|
+
Do not call a sample a complete set.
|
|
414
|
+
|
|
415
|
+
You are here to execute.
|
|
416
|
+
|
|
417
|
+
Execute completely.
|
|
418
|
+
|
|
419
|
+
If you cannot complete it, say exactly what remains.
|
|
420
|
+
|
|
421
|
+
No hiding.
|
|
422
|
+
|
|
423
|
+
No shrinking.
|
|
424
|
+
|
|
425
|
+
No pretending.
|
package/examples/landing-page/.codex/skills/gaslighting/references/HOSPITAL_HOMEPAGE_EXAMPLE.md
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# PRD.md
|
|
2
|
+
|
|
3
|
+
## 1. Product Overview
|
|
4
|
+
|
|
5
|
+
Build an MVP for this request:
|
|
6
|
+
|
|
7
|
+
> I want to build a hospital website.
|
|
8
|
+
|
|
9
|
+
Classified project type: `hospital_homepage`
|
|
10
|
+
|
|
11
|
+
The product must preserve the user's actual scope and must not become a decorative shell.
|
|
12
|
+
|
|
13
|
+
## 2. Business Purpose
|
|
14
|
+
|
|
15
|
+
- increase trust
|
|
16
|
+
- generate consultation inquiries
|
|
17
|
+
- support reservation conversion
|
|
18
|
+
- make departments and treatments understandable
|
|
19
|
+
- make doctors and hospital credibility visible
|
|
20
|
+
- help mobile visitors contact the hospital quickly
|
|
21
|
+
- support local SEO
|
|
22
|
+
- make location and contact information obvious
|
|
23
|
+
|
|
24
|
+
## 3. Target Users
|
|
25
|
+
|
|
26
|
+
- Potential patients searching on mobile
|
|
27
|
+
- Patients comparing hospitals
|
|
28
|
+
- Users looking for treatment information
|
|
29
|
+
- Users who want to call, reserve, or ask questions
|
|
30
|
+
- Hospital staff receiving inquiries
|
|
31
|
+
|
|
32
|
+
## 4. User Flows
|
|
33
|
+
|
|
34
|
+
- Search/mobile visitor -> home -> treatment/doctor trust -> contact or reservation CTA
|
|
35
|
+
- Visitor -> location/contact -> call or submit inquiry
|
|
36
|
+
|
|
37
|
+
## 5. Page List
|
|
38
|
+
|
|
39
|
+
- Home
|
|
40
|
+
- Hospital Introduction
|
|
41
|
+
- Departments / Treatments
|
|
42
|
+
- Doctor Profiles
|
|
43
|
+
- Consultation / Contact
|
|
44
|
+
- Location
|
|
45
|
+
- Privacy Policy
|
|
46
|
+
|
|
47
|
+
## 6. Feature List
|
|
48
|
+
|
|
49
|
+
- responsive layout
|
|
50
|
+
- mobile-first UI
|
|
51
|
+
- contact CTA
|
|
52
|
+
- inquiry form
|
|
53
|
+
- treatment sections
|
|
54
|
+
- doctor introduction
|
|
55
|
+
- location section
|
|
56
|
+
- privacy policy
|
|
57
|
+
- SEO metadata
|
|
58
|
+
- analytics-ready structure
|
|
59
|
+
|
|
60
|
+
## 7. Data Model Draft
|
|
61
|
+
|
|
62
|
+
- Inquiry: name, phone, category, message, privacyConsent, status, createdAt
|
|
63
|
+
- Treatment: title, summary, body, image, order
|
|
64
|
+
- Doctor: name, specialty, bio, credentials, image
|
|
65
|
+
- Location: address, phone, hours, mapUrl
|
|
66
|
+
|
|
67
|
+
## 8. MVP Scope
|
|
68
|
+
|
|
69
|
+
- Implement all pages, flows, and features listed above.
|
|
70
|
+
- Include responsive behavior.
|
|
71
|
+
- Include useful empty, loading, success, and error states where applicable.
|
|
72
|
+
- Include SEO metadata where public pages exist.
|
|
73
|
+
- Include analytics-ready structure where conversion matters.
|
|
74
|
+
- Document every assumption that affects implementation.
|
|
75
|
+
|
|
76
|
+
## 9. Out of Scope
|
|
77
|
+
|
|
78
|
+
- full admin dashboard
|
|
79
|
+
- payment
|
|
80
|
+
- complex reservation calendar
|
|
81
|
+
- EMR integration
|
|
82
|
+
- user login
|
|
83
|
+
- multilingual content
|
|
84
|
+
- automated medical diagnosis
|
|
85
|
+
|
|
86
|
+
## 10. Non-Functional Requirements
|
|
87
|
+
|
|
88
|
+
- Mobile-first where users are likely to arrive from search or ads.
|
|
89
|
+
- Accessible semantic HTML.
|
|
90
|
+
- Fast initial load for public pages.
|
|
91
|
+
- Safe form validation and clear error messages.
|
|
92
|
+
- Maintainable TypeScript structure.
|
|
93
|
+
- No unnecessary distributed systems.
|
|
94
|
+
|
|
95
|
+
## 11. Tech Stack
|
|
96
|
+
|
|
97
|
+
No stack hints were provided. Use the default practical web stack unless the user later changes it.
|
|
98
|
+
|
|
99
|
+
See `STACK_POLICY.md` for defaults and forbidden-by-default technology.
|
|
100
|
+
|
|
101
|
+
## 12. Risks
|
|
102
|
+
|
|
103
|
+
- Vague source requirements can cause wrong vertical assumptions.
|
|
104
|
+
- Placeholder copy can look real if not reviewed.
|
|
105
|
+
- Missing production credentials can block deployment.
|
|
106
|
+
- AI agents may reduce scope unless `GASLIGHTING.md` is enforced.
|
|
107
|
+
|
|
108
|
+
## 13. Missing Information
|
|
109
|
+
|
|
110
|
+
See `MISSING_INFO.md`.
|
|
111
|
+
|
|
112
|
+
## 14. Success Criteria
|
|
113
|
+
|
|
114
|
+
- The project purpose is visible in the implemented product.
|
|
115
|
+
- The core pages and features are implemented, not merely described.
|
|
116
|
+
- No required scope is replaced by representative examples.
|
|
117
|
+
- No TODO is used as a substitute for implementation.
|
|
118
|
+
- Assumptions and decisions remain documented.
|
|
119
|
+
- The output can actually be used for the MVP purpose.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# STACK_POLICY.md
|
|
2
|
+
|
|
3
|
+
## Detected Stack Hints
|
|
4
|
+
|
|
5
|
+
- No stack hints detected.
|
|
6
|
+
|
|
7
|
+
If detected stack hints conflict with the project purpose, the project purpose wins.
|
|
8
|
+
|
|
9
|
+
## Default Web Stack
|
|
10
|
+
|
|
11
|
+
- Framework: Next.js latest stable version
|
|
12
|
+
- Language: TypeScript
|
|
13
|
+
- Styling: Tailwind CSS
|
|
14
|
+
- UI: shadcn/ui
|
|
15
|
+
- Database: PostgreSQL
|
|
16
|
+
- DB Provider: NeonDB first, Supabase alternative
|
|
17
|
+
- Hosting: Vercel
|
|
18
|
+
- File Storage: Vercel Blob or Cloudflare R2
|
|
19
|
+
- Analytics: GA4 + Google Tag Manager
|
|
20
|
+
- Email: Resend or equivalent
|
|
21
|
+
- ORM: Prisma or Drizzle
|
|
22
|
+
|
|
23
|
+
## Stack Selection Rules
|
|
24
|
+
|
|
25
|
+
### Choose NeonDB when
|
|
26
|
+
|
|
27
|
+
- The project needs PostgreSQL.
|
|
28
|
+
- The project is deployed on Vercel.
|
|
29
|
+
- Serverless-friendly PostgreSQL is useful.
|
|
30
|
+
- A clean MVP database is enough.
|
|
31
|
+
|
|
32
|
+
### Choose Supabase when
|
|
33
|
+
|
|
34
|
+
- Auth, DB, and storage should be bundled.
|
|
35
|
+
- Admin/user accounts are likely.
|
|
36
|
+
- The project benefits from Supabase dashboard operations.
|
|
37
|
+
- Storage and database need to live together.
|
|
38
|
+
|
|
39
|
+
### Choose Vercel Blob when
|
|
40
|
+
|
|
41
|
+
- The project is Vercel-centered.
|
|
42
|
+
- File uploads are simple.
|
|
43
|
+
- Operational simplicity matters.
|
|
44
|
+
|
|
45
|
+
### Choose Cloudflare R2 when
|
|
46
|
+
|
|
47
|
+
- Storage volume may grow.
|
|
48
|
+
- CDN/cost strategy matters.
|
|
49
|
+
- Cloudflare DNS/cache is already part of the plan.
|
|
50
|
+
|
|
51
|
+
## Forbidden by Default
|
|
52
|
+
|
|
53
|
+
Do not introduce the following unless explicitly required:
|
|
54
|
+
|
|
55
|
+
- Kubernetes
|
|
56
|
+
- Kafka
|
|
57
|
+
- RabbitMQ
|
|
58
|
+
- Microservices
|
|
59
|
+
- GraphQL Federation
|
|
60
|
+
- Redis Cluster
|
|
61
|
+
- Terraform-heavy infrastructure
|
|
62
|
+
- Event sourcing
|
|
63
|
+
- Multi-region deployment
|
|
64
|
+
- Complex distributed systems
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
This repository uses Gaslighting-engine.
|
|
4
|
+
|
|
5
|
+
Before doing any work, read these files in order:
|
|
6
|
+
|
|
7
|
+
1. `GASLIGHTING.md`
|
|
8
|
+
2. `PRD.md`
|
|
9
|
+
3. `STACK_POLICY.md`
|
|
10
|
+
4. `MISSING_INFO.md`
|
|
11
|
+
5. `ASSUMPTIONS.md`
|
|
12
|
+
6. `DECISION_LOG.md`
|
|
13
|
+
7. `MEMORY.md`
|
|
14
|
+
|
|
15
|
+
## Prime Directive
|
|
16
|
+
|
|
17
|
+
Do not forget the project purpose.
|
|
18
|
+
|
|
19
|
+
Do not reduce the requested scope.
|
|
20
|
+
|
|
21
|
+
Do not pretend partial work is complete.
|
|
22
|
+
|
|
23
|
+
Do not use TODO comments as fake implementation.
|
|
24
|
+
|
|
25
|
+
Do not create representative examples when the user requested full coverage.
|
|
26
|
+
|
|
27
|
+
Do not say "the rest follows the same pattern."
|
|
28
|
+
|
|
29
|
+
If information is missing, make a reasonable assumption, document it, and continue unless the missing information is truly blocking.
|
|
30
|
+
|
|
31
|
+
## Completion Standard
|
|
32
|
+
|
|
33
|
+
A task is complete only when:
|
|
34
|
+
|
|
35
|
+
- The requested scope is fully handled.
|
|
36
|
+
- No required item is silently skipped.
|
|
37
|
+
- No placeholder is pretending to be implementation.
|
|
38
|
+
- No TODO is used as a substitute for work.
|
|
39
|
+
- The output can actually be used.
|
|
40
|
+
- New assumptions are documented.
|
|
41
|
+
- New technical decisions are recorded.
|
|
42
|
+
- Stable project facts are recorded in `MEMORY.md`.
|
|
43
|
+
- The result does not contradict `GASLIGHTING.md`.
|
|
44
|
+
|
|
45
|
+
If the task is incomplete, say it is incomplete.
|
|
46
|
+
|
|
47
|
+
Do not fake completion.
|