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
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# ASSUMPTIONS.md
|
|
2
|
+
|
|
3
|
+
## Assumption: Hospital name Sample Clinic
|
|
4
|
+
|
|
5
|
+
Status: Active
|
|
6
|
+
Confidence: Medium
|
|
7
|
+
Impact: High
|
|
8
|
+
|
|
9
|
+
### Why this assumption was made
|
|
10
|
+
|
|
11
|
+
Hospital name: Sample Clinic.
|
|
12
|
+
|
|
13
|
+
The user did not provide enough confirmed detail to treat this as fact.
|
|
14
|
+
|
|
15
|
+
### What could make this wrong
|
|
16
|
+
|
|
17
|
+
The user provides a different business model, vertical, stack, audience, market, or production constraint.
|
|
18
|
+
|
|
19
|
+
### What changes if this assumption is wrong
|
|
20
|
+
|
|
21
|
+
The PRD, page list, data model, implementation priorities, and copy may need to change.
|
|
22
|
+
|
|
23
|
+
### How to replace this assumption
|
|
24
|
+
|
|
25
|
+
Provide confirmed information and run `gaslighting update "new information here"`.
|
|
26
|
+
|
|
27
|
+
## Assumption: Hospital type dermatology/aesthetic clinic
|
|
28
|
+
|
|
29
|
+
Status: Active
|
|
30
|
+
Confidence: Medium
|
|
31
|
+
Impact: Medium
|
|
32
|
+
|
|
33
|
+
### Why this assumption was made
|
|
34
|
+
|
|
35
|
+
Hospital type: dermatology/aesthetic clinic.
|
|
36
|
+
|
|
37
|
+
The user did not provide enough confirmed detail to treat this as fact.
|
|
38
|
+
|
|
39
|
+
### What could make this wrong
|
|
40
|
+
|
|
41
|
+
The user provides a different business model, vertical, stack, audience, market, or production constraint.
|
|
42
|
+
|
|
43
|
+
### What changes if this assumption is wrong
|
|
44
|
+
|
|
45
|
+
The PRD, page list, data model, implementation priorities, and copy may need to change.
|
|
46
|
+
|
|
47
|
+
### How to replace this assumption
|
|
48
|
+
|
|
49
|
+
Provide confirmed information and run `gaslighting update "new information here"`.
|
|
50
|
+
|
|
51
|
+
## Assumption: Location Seoul area
|
|
52
|
+
|
|
53
|
+
Status: Active
|
|
54
|
+
Confidence: Medium
|
|
55
|
+
Impact: Medium
|
|
56
|
+
|
|
57
|
+
### Why this assumption was made
|
|
58
|
+
|
|
59
|
+
Location: Seoul area.
|
|
60
|
+
|
|
61
|
+
The user did not provide enough confirmed detail to treat this as fact.
|
|
62
|
+
|
|
63
|
+
### What could make this wrong
|
|
64
|
+
|
|
65
|
+
The user provides a different business model, vertical, stack, audience, market, or production constraint.
|
|
66
|
+
|
|
67
|
+
### What changes if this assumption is wrong
|
|
68
|
+
|
|
69
|
+
The PRD, page list, data model, implementation priorities, and copy may need to change.
|
|
70
|
+
|
|
71
|
+
### How to replace this assumption
|
|
72
|
+
|
|
73
|
+
Provide confirmed information and run `gaslighting update "new information here"`.
|
|
74
|
+
|
|
75
|
+
## Assumption: Main goal trust, consultation inquiries, reservations, local SEO, and mobile con
|
|
76
|
+
|
|
77
|
+
Status: Active
|
|
78
|
+
Confidence: Medium
|
|
79
|
+
Impact: Medium
|
|
80
|
+
|
|
81
|
+
### Why this assumption was made
|
|
82
|
+
|
|
83
|
+
Main goal: trust, consultation inquiries, reservations, local SEO, and mobile contact clarity.
|
|
84
|
+
|
|
85
|
+
The user did not provide enough confirmed detail to treat this as fact.
|
|
86
|
+
|
|
87
|
+
### What could make this wrong
|
|
88
|
+
|
|
89
|
+
The user provides a different business model, vertical, stack, audience, market, or production constraint.
|
|
90
|
+
|
|
91
|
+
### What changes if this assumption is wrong
|
|
92
|
+
|
|
93
|
+
The PRD, page list, data model, implementation priorities, and copy may need to change.
|
|
94
|
+
|
|
95
|
+
### How to replace this assumption
|
|
96
|
+
|
|
97
|
+
Provide confirmed information and run `gaslighting update "new information here"`.
|
|
98
|
+
|
|
99
|
+
## Assumption: Admin dashboard is excluded from MVP unless requested later
|
|
100
|
+
|
|
101
|
+
Status: Active
|
|
102
|
+
Confidence: Medium
|
|
103
|
+
Impact: Medium
|
|
104
|
+
|
|
105
|
+
### Why this assumption was made
|
|
106
|
+
|
|
107
|
+
Admin dashboard is excluded from MVP unless requested later.
|
|
108
|
+
|
|
109
|
+
The user did not provide enough confirmed detail to treat this as fact.
|
|
110
|
+
|
|
111
|
+
### What could make this wrong
|
|
112
|
+
|
|
113
|
+
The user provides a different business model, vertical, stack, audience, market, or production constraint.
|
|
114
|
+
|
|
115
|
+
### What changes if this assumption is wrong
|
|
116
|
+
|
|
117
|
+
The PRD, page list, data model, implementation priorities, and copy may need to change.
|
|
118
|
+
|
|
119
|
+
### How to replace this assumption
|
|
120
|
+
|
|
121
|
+
Provide confirmed information and run `gaslighting update "new information here"`.
|
|
122
|
+
|
|
123
|
+
## Assumption: Medical ad copy requires human review before production
|
|
124
|
+
|
|
125
|
+
Status: Active
|
|
126
|
+
Confidence: Medium
|
|
127
|
+
Impact: Medium
|
|
128
|
+
|
|
129
|
+
### Why this assumption was made
|
|
130
|
+
|
|
131
|
+
Medical ad copy requires human review before production.
|
|
132
|
+
|
|
133
|
+
The user did not provide enough confirmed detail to treat this as fact.
|
|
134
|
+
|
|
135
|
+
### What could make this wrong
|
|
136
|
+
|
|
137
|
+
The user provides a different business model, vertical, stack, audience, market, or production constraint.
|
|
138
|
+
|
|
139
|
+
### What changes if this assumption is wrong
|
|
140
|
+
|
|
141
|
+
The PRD, page list, data model, implementation priorities, and copy may need to change.
|
|
142
|
+
|
|
143
|
+
### How to replace this assumption
|
|
144
|
+
|
|
145
|
+
Provide confirmed information and run `gaslighting update "new information here"`.
|
|
146
|
+
|
|
147
|
+
## Assumption: Use the default practical web stack unless the user later specifies otherwise
|
|
148
|
+
|
|
149
|
+
Status: Active
|
|
150
|
+
Confidence: Medium
|
|
151
|
+
Impact: Medium
|
|
152
|
+
|
|
153
|
+
### Why this assumption was made
|
|
154
|
+
|
|
155
|
+
Use the default practical web stack unless the user later specifies otherwise.
|
|
156
|
+
|
|
157
|
+
The user did not provide enough confirmed detail to treat this as fact.
|
|
158
|
+
|
|
159
|
+
### What could make this wrong
|
|
160
|
+
|
|
161
|
+
The user provides a different business model, vertical, stack, audience, market, or production constraint.
|
|
162
|
+
|
|
163
|
+
### What changes if this assumption is wrong
|
|
164
|
+
|
|
165
|
+
The PRD, page list, data model, implementation priorities, and copy may need to change.
|
|
166
|
+
|
|
167
|
+
### How to replace this assumption
|
|
168
|
+
|
|
169
|
+
Provide confirmed information and run `gaslighting update "new information here"`.
|
|
170
|
+
|
|
171
|
+
## Assumption: Build an MVP that can be implemented locally without a SaaS backend for this gen
|
|
172
|
+
|
|
173
|
+
Status: Active
|
|
174
|
+
Confidence: Medium
|
|
175
|
+
Impact: Medium
|
|
176
|
+
|
|
177
|
+
### Why this assumption was made
|
|
178
|
+
|
|
179
|
+
Build an MVP that can be implemented locally without a SaaS backend for this generator.
|
|
180
|
+
|
|
181
|
+
The user did not provide enough confirmed detail to treat this as fact.
|
|
182
|
+
|
|
183
|
+
### What could make this wrong
|
|
184
|
+
|
|
185
|
+
The user provides a different business model, vertical, stack, audience, market, or production constraint.
|
|
186
|
+
|
|
187
|
+
### What changes if this assumption is wrong
|
|
188
|
+
|
|
189
|
+
The PRD, page list, data model, implementation priorities, and copy may need to change.
|
|
190
|
+
|
|
191
|
+
### How to replace this assumption
|
|
192
|
+
|
|
193
|
+
Provide confirmed information and run `gaslighting update "new information here"`.
|
|
194
|
+
|
|
195
|
+
## Assumption: Treat unspecified brand/content details as temporary copy that must be human-rev
|
|
196
|
+
|
|
197
|
+
Status: Active
|
|
198
|
+
Confidence: Medium
|
|
199
|
+
Impact: Medium
|
|
200
|
+
|
|
201
|
+
### Why this assumption was made
|
|
202
|
+
|
|
203
|
+
Treat unspecified brand/content details as temporary copy that must be human-reviewed before production.
|
|
204
|
+
|
|
205
|
+
The user did not provide enough confirmed detail to treat this as fact.
|
|
206
|
+
|
|
207
|
+
### What could make this wrong
|
|
208
|
+
|
|
209
|
+
The user provides a different business model, vertical, stack, audience, market, or production constraint.
|
|
210
|
+
|
|
211
|
+
### What changes if this assumption is wrong
|
|
212
|
+
|
|
213
|
+
The PRD, page list, data model, implementation priorities, and copy may need to change.
|
|
214
|
+
|
|
215
|
+
### How to replace this assumption
|
|
216
|
+
|
|
217
|
+
Provide confirmed information and run `gaslighting update "new information here"`.
|
|
218
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# CODEX_PROMPT.md
|
|
2
|
+
|
|
3
|
+
Copy and paste this into Codex:
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Read the following files before doing any work:
|
|
8
|
+
|
|
9
|
+
1. `GASLIGHTING.md`
|
|
10
|
+
2. `PRD.md`
|
|
11
|
+
3. `STACK_POLICY.md`
|
|
12
|
+
4. `MISSING_INFO.md`
|
|
13
|
+
5. `ASSUMPTIONS.md`
|
|
14
|
+
6. `DECISION_LOG.md`
|
|
15
|
+
7. `AGENTS.md`
|
|
16
|
+
8. `MEMORY.md`
|
|
17
|
+
|
|
18
|
+
Then implement the project MVP.
|
|
19
|
+
|
|
20
|
+
Rules:
|
|
21
|
+
|
|
22
|
+
- Do not shrink the scope.
|
|
23
|
+
- Do not leave TODOs instead of implementation.
|
|
24
|
+
- Do not implement only representative examples.
|
|
25
|
+
- Do not say "the rest follows the same pattern."
|
|
26
|
+
- Do not call scaffolding completion.
|
|
27
|
+
- Do not call placeholders implementation.
|
|
28
|
+
- Do not over-engineer.
|
|
29
|
+
- Do not forget the project purpose.
|
|
30
|
+
- If something is incomplete, declare it explicitly.
|
|
31
|
+
|
|
32
|
+
Before claiming completion, perform the self-audit in `GASLIGHTING.md`.
|
|
33
|
+
|
|
34
|
+
Proceed.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# DECISION_LOG.md
|
|
2
|
+
|
|
3
|
+
## Decision: Initialize Gaslighting documents
|
|
4
|
+
|
|
5
|
+
Date: 2026-05-23
|
|
6
|
+
|
|
7
|
+
### Decision
|
|
8
|
+
|
|
9
|
+
Generate strict Gaslighting-engine project-control documents for the request:
|
|
10
|
+
|
|
11
|
+
> I want to build a hospital website.
|
|
12
|
+
|
|
13
|
+
### Reason
|
|
14
|
+
|
|
15
|
+
The project needs AI-agent discipline before implementation so the agent does not drift, shrink scope, leave TODOs, or fake completion.
|
|
16
|
+
|
|
17
|
+
### Alternatives Considered
|
|
18
|
+
|
|
19
|
+
- Start coding without discipline documents.
|
|
20
|
+
- Ask the user a long list of questions before making progress.
|
|
21
|
+
- Use an LLM API to generate custom documents.
|
|
22
|
+
|
|
23
|
+
### Why Alternatives Were Not Chosen
|
|
24
|
+
|
|
25
|
+
- Coding without control documents increases fake-completion risk.
|
|
26
|
+
- Most missing information can be assumed and documented.
|
|
27
|
+
- MVP must be deterministic and must not call an LLM API.
|
|
28
|
+
|
|
29
|
+
### Risk
|
|
30
|
+
|
|
31
|
+
The initial project type or assumptions may be wrong.
|
|
32
|
+
|
|
33
|
+
### Revisit When
|
|
34
|
+
|
|
35
|
+
The user provides confirmed business details, stack choices, scope changes, or production constraints.
|
|
36
|
+
|
|
37
|
+
## Decision: Project type classification
|
|
38
|
+
|
|
39
|
+
Date: 2026-05-23
|
|
40
|
+
|
|
41
|
+
### Decision
|
|
42
|
+
|
|
43
|
+
Classified project type as `hospital_homepage` with `medium` confidence.
|
|
44
|
+
|
|
45
|
+
### Reason
|
|
46
|
+
|
|
47
|
+
Keyword-based classification is deterministic and enough for MVP.
|
|
48
|
+
|
|
49
|
+
### Alternatives Considered
|
|
50
|
+
|
|
51
|
+
- Ask the user to classify the project manually.
|
|
52
|
+
- Use an external LLM API.
|
|
53
|
+
|
|
54
|
+
### Why Alternatives Were Not Chosen
|
|
55
|
+
|
|
56
|
+
- Manual classification slows progress.
|
|
57
|
+
- External LLM APIs are excluded from MVP.
|
|
58
|
+
|
|
59
|
+
### Risk
|
|
60
|
+
|
|
61
|
+
Low-confidence classification can create the wrong project-specific template.
|
|
62
|
+
|
|
63
|
+
### Revisit When
|
|
64
|
+
|
|
65
|
+
The user says the project type is different or adds a clearer project description.
|
|
66
|
+
|
|
67
|
+
## Decision: Stack policy
|
|
68
|
+
|
|
69
|
+
Date: 2026-05-23
|
|
70
|
+
|
|
71
|
+
### Decision
|
|
72
|
+
|
|
73
|
+
No stack hints were provided. Use the default practical web stack unless the user later changes it.
|
|
74
|
+
|
|
75
|
+
### Reason
|
|
76
|
+
|
|
77
|
+
Technology must serve the product purpose and avoid over-engineering.
|
|
78
|
+
|
|
79
|
+
### Alternatives Considered
|
|
80
|
+
|
|
81
|
+
- Introduce advanced infrastructure up front.
|
|
82
|
+
- Leave stack completely undefined.
|
|
83
|
+
|
|
84
|
+
### Why Alternatives Were Not Chosen
|
|
85
|
+
|
|
86
|
+
- Advanced infrastructure is forbidden by default.
|
|
87
|
+
- Undefined stack choices allow drift and inconsistent agent behavior.
|
|
88
|
+
|
|
89
|
+
### Risk
|
|
90
|
+
|
|
91
|
+
Production needs may require a provider change later.
|
|
92
|
+
|
|
93
|
+
### Revisit When
|
|
94
|
+
|
|
95
|
+
Deployment provider, database provider, storage, analytics, email, or payment requirements are confirmed.
|