@appsforgood/next-supabase-kit 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/BEST_PRACTICE_EVIDENCE.md +45 -0
- package/CHANGELOG.md +44 -0
- package/CODE_OF_CONDUCT.md +26 -0
- package/CONTRIBUTING.md +48 -0
- package/DOGFOOD.md +121 -0
- package/GOVERNANCE.md +45 -0
- package/LICENSE +21 -0
- package/README.md +251 -0
- package/REPOSITORY_SETTINGS.md +70 -0
- package/RESEARCH_CITATION_POLICY.md +26 -0
- package/SECURITY.md +29 -0
- package/SUPPLY_CHAIN.md +55 -0
- package/SUPPORT.md +28 -0
- package/UPGRADE.md +77 -0
- package/agents/deployment-observability-engineer.md +13 -0
- package/agents/docs-maintainer.md +17 -0
- package/agents/frontend-design-lead.md +22 -0
- package/agents/lead-architect.md +25 -0
- package/agents/marketing-copy-lead.md +20 -0
- package/agents/nextjs-engineer.md +20 -0
- package/agents/planner.md +20 -0
- package/agents/qa-engineer.md +19 -0
- package/agents/research-analyst.md +13 -0
- package/agents/security-reviewer.md +16 -0
- package/agents/supabase-postgres-engineer.md +19 -0
- package/assistant-adapters/README.md +28 -0
- package/assistant-adapters/claude-code-subagents.md +37 -0
- package/assistant-adapters/codex-agents.md +35 -0
- package/assistant-adapters/cursor-agent-kit.mdc +30 -0
- package/assistant-adapters/github-copilot-instructions.md +35 -0
- package/assistant-adapters/github-next-supabase.instructions.md +28 -0
- package/assistant-adapters/model-selection/claude-code-subagents-with-models.md +32 -0
- package/assistant-adapters/model-selection/codex-config.example.toml +29 -0
- package/assistant-adapters/model-selection/cursor-model-selection.mdc +24 -0
- package/assistant-adapters/model-selection/github-copilot-model-selection.md +20 -0
- package/checklists/accessibility.md +12 -0
- package/checklists/agent-council.md +13 -0
- package/checklists/brand-content.md +15 -0
- package/checklists/deployment.md +10 -0
- package/checklists/design-critique.md +13 -0
- package/checklists/frontend-distinctiveness.md +12 -0
- package/checklists/frontend-product-quality.md +13 -0
- package/checklists/frontend-quality.md +20 -0
- package/checklists/marketing-copy.md +11 -0
- package/checklists/owasp.md +12 -0
- package/checklists/rls.md +10 -0
- package/checklists/testing.md +12 -0
- package/checklists/upgrade.md +13 -0
- package/checklists/visual-regression.md +11 -0
- package/design-adapters/claude-design.prompt.md +27 -0
- package/design-adapters/figma.prompt.md +18 -0
- package/design-adapters/google-stitch.prompt.md +36 -0
- package/design-adapters/human-designer-brief.prompt.md +36 -0
- package/design-briefs/admin-dashboard.md +21 -0
- package/design-briefs/ai-workflow-product.md +25 -0
- package/design-briefs/community-social.md +26 -0
- package/design-briefs/content-app.md +21 -0
- package/design-briefs/ecommerce.md +25 -0
- package/design-briefs/education-course.md +25 -0
- package/design-briefs/marketplace.md +21 -0
- package/design-briefs/portfolio-venue.md +25 -0
- package/design-briefs/saas.md +21 -0
- package/design-briefs/tool.md +21 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3521 -0
- package/dist/index.js.map +1 -0
- package/examples/next-supabase-installed/.agent-kit/agent-roster.json +228 -0
- package/examples/next-supabase-installed/.agent-kit/manifest.json +58 -0
- package/examples/next-supabase-installed/.agent-kit/model-routing.json +164 -0
- package/examples/next-supabase-installed/.agent-kit/overrides.json +9 -0
- package/examples/next-supabase-installed/README.md +15 -0
- package/examples/next-supabase-installed/audit-output.json +336 -0
- package/examples/next-supabase-installed/tree.txt +38 -0
- package/model-routing/default-model-routing.json +164 -0
- package/package.json +98 -0
- package/profiles/admin-app.md +17 -0
- package/profiles/content-app.md +17 -0
- package/profiles/marketplace.md +17 -0
- package/profiles/saas.md +17 -0
- package/profiles/stack-next-firebase.md +25 -0
- package/profiles/stack-next-postgres.md +24 -0
- package/profiles/stack-remix-supabase.md +24 -0
- package/prompts/audit-project-setup.md +28 -0
- package/prompts/brand-content-intake.md +17 -0
- package/prompts/copy-review.md +15 -0
- package/prompts/council-session-review.md +17 -0
- package/prompts/creative-direction-matrix.md +22 -0
- package/prompts/design-critique-gate.md +28 -0
- package/prompts/docs-update.md +16 -0
- package/prompts/frontend-design-review.md +29 -0
- package/prompts/frontend-distinctiveness-benchmark.md +32 -0
- package/prompts/frontend-product-quality-scorecard.md +35 -0
- package/prompts/implement-feature.md +14 -0
- package/prompts/migration-review.md +14 -0
- package/prompts/screenshot-review.md +27 -0
- package/prompts/security-review.md +17 -0
- package/prompts/upgrade-review.md +18 -0
- package/prompts/visual-qa-plan.md +16 -0
- package/research/proposed-updates.md +70 -0
- package/research/scan-config.json +261 -0
- package/research/scan-plan.md +24 -0
- package/research/summaries/.gitkeep +1 -0
- package/research/summaries/agent-workflow-patterns.md +37 -0
- package/research/summaries/creative-design-patterns.md +38 -0
- package/research/summaries/design-critique-patterns.md +34 -0
- package/research/summaries/docs-and-agent-patterns.md +64 -0
- package/research/summaries/dogfood-adoption-patterns.md +33 -0
- package/research/summaries/frontend-design-patterns.md +64 -0
- package/research/summaries/frontend-distinctiveness-benchmark-patterns.md +38 -0
- package/research/summaries/frontend-product-quality-rubric-patterns.md +37 -0
- package/research/summaries/maturity-model-patterns.md +29 -0
- package/research/summaries/nextjs-patterns.md +65 -0
- package/research/summaries/repo-health-patterns.md +41 -0
- package/research/summaries/scan-overview.md +46 -0
- package/research/summaries/security-patterns.md +64 -0
- package/research/summaries/supabase-rls-patterns.md +54 -0
- package/research/summaries/supply-chain-patterns.md +38 -0
- package/research/summaries/testing-patterns.md +63 -0
- package/research/summaries/upgrade-lifecycle-patterns.md +26 -0
- package/research/summaries/visual-qa-patterns.md +39 -0
- package/rosters/next-supabase-default-council.json +228 -0
- package/schemas/agent-roster.schema.json +54 -0
- package/schemas/audit-report.schema.json +50 -0
- package/schemas/correction-rules.schema.json +32 -0
- package/schemas/council-session.schema.json +65 -0
- package/schemas/model-routing.schema.json +72 -0
- package/schemas/project-context.schema.json +94 -0
- package/schemas/session-event.schema.json +46 -0
- package/schemas/studio-session.schema.json +48 -0
- package/skills/accessibility-wcag.md +15 -0
- package/skills/agent-handoff-tracing.md +44 -0
- package/skills/best-practice-maturity-review.md +26 -0
- package/skills/content-first-design.md +50 -0
- package/skills/conversion-copywriting.md +38 -0
- package/skills/deployment-observability.md +14 -0
- package/skills/docs-maintainer.md +19 -0
- package/skills/frontend-design-system.md +68 -0
- package/skills/frontend-distinctiveness-benchmark.md +40 -0
- package/skills/frontend-product-quality-rubric.md +59 -0
- package/skills/landing-page-copy.md +29 -0
- package/skills/nextjs-app-router.md +18 -0
- package/skills/onboarding-empty-state-copy.md +37 -0
- package/skills/owasp-security-review.md +19 -0
- package/skills/planning-council.md +21 -0
- package/skills/positioning-messaging.md +42 -0
- package/skills/postgres-migrations.md +14 -0
- package/skills/product-voice-tone.md +35 -0
- package/skills/reference-led-design-critique.md +48 -0
- package/skills/supabase-auth-rls.md +20 -0
- package/skills/testing-qa.md +15 -0
- package/skills/upgrade-maintenance.md +32 -0
- package/skills/visual-regression-qa.md +42 -0
- package/templates/next-supabase/AGENTS.md +138 -0
- package/templates/next-supabase/AGENT_ROSTER.md +98 -0
- package/templates/next-supabase/ASSISTANT_ADAPTERS.md +82 -0
- package/templates/next-supabase/COUNCIL.md +54 -0
- package/templates/next-supabase/DECISIONS.md +45 -0
- package/templates/next-supabase/DEPLOYMENT.md +45 -0
- package/templates/next-supabase/DESIGN.md +171 -0
- package/templates/next-supabase/DOCS.md +62 -0
- package/templates/next-supabase/MESSAGING.md +81 -0
- package/templates/next-supabase/MODEL_ROUTING.md +109 -0
- package/templates/next-supabase/QUALITY_GATES.md +87 -0
- package/templates/next-supabase/SECURITY.md +54 -0
- package/templates/next-supabase/SKILLS.md +221 -0
- package/templates/next-supabase/SPEC.md +114 -0
- package/templates/next-supabase/STYLE_GUIDE.md +104 -0
- package/templates/next-supabase/TESTING.md +68 -0
- package/templates/next-supabase/UPGRADE.md +59 -0
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
{
|
|
2
|
+
"summary": {
|
|
3
|
+
"pass": 60,
|
|
4
|
+
"warn": 3,
|
|
5
|
+
"fail": 0
|
|
6
|
+
},
|
|
7
|
+
"readiness": {
|
|
8
|
+
"level": "baseline-setup",
|
|
9
|
+
"summary": "Agent kit setup is valid, but project-specific evidence still needs to replace starter placeholders.",
|
|
10
|
+
"nextActions": [
|
|
11
|
+
"Run agent-kit onboard or agent-kit init --guided so agents can start with project-specific context.",
|
|
12
|
+
"Replace TBD adapter rows with date, owner, evidence, model-selection status, and known limitations for each active IDE.",
|
|
13
|
+
"Replace TBD/example rows with real project evidence, or document why an item is not applicable before claiming strong or best-practice maturity."
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"findings": [
|
|
17
|
+
{
|
|
18
|
+
"level": "pass",
|
|
19
|
+
"area": "install",
|
|
20
|
+
"message": "Agent kit installed at version 0.1.0."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"level": "pass",
|
|
24
|
+
"area": "templates",
|
|
25
|
+
"message": "AGENTS.md matches the current bundled template."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"level": "pass",
|
|
29
|
+
"area": "templates",
|
|
30
|
+
"message": "AGENT_ROSTER.md matches the current bundled template."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"level": "pass",
|
|
34
|
+
"area": "templates",
|
|
35
|
+
"message": "ASSISTANT_ADAPTERS.md matches the current bundled template."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"level": "pass",
|
|
39
|
+
"area": "templates",
|
|
40
|
+
"message": "COUNCIL.md matches the current bundled template."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"level": "pass",
|
|
44
|
+
"area": "templates",
|
|
45
|
+
"message": "SKILLS.md matches the current bundled template."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"level": "pass",
|
|
49
|
+
"area": "templates",
|
|
50
|
+
"message": "SPEC.md matches the current bundled template."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"level": "pass",
|
|
54
|
+
"area": "templates",
|
|
55
|
+
"message": "DECISIONS.md matches the current bundled template."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"level": "pass",
|
|
59
|
+
"area": "templates",
|
|
60
|
+
"message": "DOCS.md matches the current bundled template."
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"level": "pass",
|
|
64
|
+
"area": "templates",
|
|
65
|
+
"message": "DESIGN.md matches the current bundled template."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"level": "pass",
|
|
69
|
+
"area": "templates",
|
|
70
|
+
"message": "MESSAGING.md matches the current bundled template."
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"level": "pass",
|
|
74
|
+
"area": "templates",
|
|
75
|
+
"message": "MODEL_ROUTING.md matches the current bundled template."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"level": "pass",
|
|
79
|
+
"area": "templates",
|
|
80
|
+
"message": "QUALITY_GATES.md matches the current bundled template."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"level": "pass",
|
|
84
|
+
"area": "templates",
|
|
85
|
+
"message": "STYLE_GUIDE.md matches the current bundled template."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"level": "pass",
|
|
89
|
+
"area": "templates",
|
|
90
|
+
"message": "SECURITY.md matches the current bundled template."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"level": "pass",
|
|
94
|
+
"area": "templates",
|
|
95
|
+
"message": "TESTING.md matches the current bundled template."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"level": "pass",
|
|
99
|
+
"area": "templates",
|
|
100
|
+
"message": "DEPLOYMENT.md matches the current bundled template."
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"level": "pass",
|
|
104
|
+
"area": "templates",
|
|
105
|
+
"message": "UPGRADE.md matches the current bundled template."
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"level": "pass",
|
|
109
|
+
"area": "agents",
|
|
110
|
+
"message": "Agent roster matches the schema-backed runtime contract."
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"level": "pass",
|
|
114
|
+
"area": "agents",
|
|
115
|
+
"message": "Agent roster contains the required default council agents."
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"level": "pass",
|
|
119
|
+
"area": "agents",
|
|
120
|
+
"message": "Agent roster maps default agents to required skills."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"level": "pass",
|
|
124
|
+
"area": "agents",
|
|
125
|
+
"message": "Core-change workflow requires architect-led council handoff."
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"level": "pass",
|
|
129
|
+
"area": "agents",
|
|
130
|
+
"message": "Frontend-change workflow requires content-first design, reference-led critique, distinctiveness benchmarking, product-quality scoring, and creative-direction evidence."
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"level": "pass",
|
|
134
|
+
"area": "agents",
|
|
135
|
+
"message": "Marketing-copy workflow requires question-led positioning, value proposition, proof, objections, voice, and conversion evidence."
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"level": "pass",
|
|
139
|
+
"area": "agents",
|
|
140
|
+
"message": "Agent roster requires auditable handoff evidence."
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"level": "pass",
|
|
144
|
+
"area": "agents",
|
|
145
|
+
"message": ".agent-kit/schemas/agent-roster.schema.json is present and parseable."
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"level": "pass",
|
|
149
|
+
"area": "agents",
|
|
150
|
+
"message": ".agent-kit/schemas/council-session.schema.json is present and parseable."
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"level": "pass",
|
|
154
|
+
"area": "agents",
|
|
155
|
+
"message": ".agent-kit/schemas/audit-report.schema.json is present and parseable."
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"level": "pass",
|
|
159
|
+
"area": "agents",
|
|
160
|
+
"message": ".agent-kit/schemas/model-routing.schema.json is present and parseable."
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"level": "pass",
|
|
164
|
+
"area": "agents",
|
|
165
|
+
"message": ".agent-kit/schemas/project-context.schema.json is present and parseable."
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"level": "pass",
|
|
169
|
+
"area": "agents",
|
|
170
|
+
"message": ".agent-kit/schemas/correction-rules.schema.json is present and parseable."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"level": "pass",
|
|
174
|
+
"area": "agents",
|
|
175
|
+
"message": ".agent-kit/schemas/session-event.schema.json is present and parseable."
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"level": "pass",
|
|
179
|
+
"area": "agents",
|
|
180
|
+
"message": ".agent-kit/schemas/studio-session.schema.json is present and parseable."
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"level": "warn",
|
|
184
|
+
"area": "studio",
|
|
185
|
+
"message": ".agent-kit/project-context.json is missing.",
|
|
186
|
+
"remediation": "Run agent-kit onboard or agent-kit init --guided so agents can start with project-specific context."
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"level": "pass",
|
|
190
|
+
"area": "docs",
|
|
191
|
+
"message": "AGENTS.md exists."
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"level": "pass",
|
|
195
|
+
"area": "docs",
|
|
196
|
+
"message": "AGENT_ROSTER.md exists."
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"level": "pass",
|
|
200
|
+
"area": "docs",
|
|
201
|
+
"message": "ASSISTANT_ADAPTERS.md exists."
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"level": "pass",
|
|
205
|
+
"area": "docs",
|
|
206
|
+
"message": "COUNCIL.md exists."
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"level": "pass",
|
|
210
|
+
"area": "docs",
|
|
211
|
+
"message": "SKILLS.md exists."
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"level": "pass",
|
|
215
|
+
"area": "docs",
|
|
216
|
+
"message": "SPEC.md exists."
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"level": "pass",
|
|
220
|
+
"area": "docs",
|
|
221
|
+
"message": "DECISIONS.md exists."
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"level": "pass",
|
|
225
|
+
"area": "docs",
|
|
226
|
+
"message": "DOCS.md exists."
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"level": "pass",
|
|
230
|
+
"area": "docs",
|
|
231
|
+
"message": "DESIGN.md exists."
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"level": "pass",
|
|
235
|
+
"area": "docs",
|
|
236
|
+
"message": "MESSAGING.md exists."
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"level": "pass",
|
|
240
|
+
"area": "docs",
|
|
241
|
+
"message": "MODEL_ROUTING.md exists."
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"level": "pass",
|
|
245
|
+
"area": "docs",
|
|
246
|
+
"message": "QUALITY_GATES.md exists."
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"level": "pass",
|
|
250
|
+
"area": "docs",
|
|
251
|
+
"message": "STYLE_GUIDE.md exists."
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"level": "pass",
|
|
255
|
+
"area": "docs",
|
|
256
|
+
"message": "SECURITY.md exists."
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"level": "pass",
|
|
260
|
+
"area": "docs",
|
|
261
|
+
"message": "TESTING.md exists."
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"level": "pass",
|
|
265
|
+
"area": "docs",
|
|
266
|
+
"message": "DEPLOYMENT.md exists."
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"level": "pass",
|
|
270
|
+
"area": "docs",
|
|
271
|
+
"message": "UPGRADE.md exists."
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"level": "pass",
|
|
275
|
+
"area": "agents",
|
|
276
|
+
"message": "COUNCIL.md defines council-session handoff evidence."
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"level": "pass",
|
|
280
|
+
"area": "agents",
|
|
281
|
+
"message": ".agent-kit/assistant-adapters is installed."
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"level": "pass",
|
|
285
|
+
"area": "agents",
|
|
286
|
+
"message": "ASSISTANT_ADAPTERS.md maps the council roster to tool-specific instruction surfaces."
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"level": "warn",
|
|
290
|
+
"area": "models",
|
|
291
|
+
"message": "ASSISTANT_ADAPTERS.md still has unverified tool-surface rows.",
|
|
292
|
+
"remediation": "Replace TBD adapter rows with date, owner, evidence, model-selection status, and known limitations for each active IDE."
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"level": "pass",
|
|
296
|
+
"area": "models",
|
|
297
|
+
"message": "MODEL_ROUTING.md documents agent model profiles and IDE enforcement limits."
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"level": "pass",
|
|
301
|
+
"area": "models",
|
|
302
|
+
"message": "Model routing matches the schema-backed runtime contract."
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"level": "pass",
|
|
306
|
+
"area": "models",
|
|
307
|
+
"message": "Model routing maps every default council agent to a profile."
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"level": "pass",
|
|
311
|
+
"area": "messaging",
|
|
312
|
+
"message": "MESSAGING.md captures question-led positioning and value-proposition inputs."
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"level": "pass",
|
|
316
|
+
"area": "messaging",
|
|
317
|
+
"message": "MESSAGING.md connects claims, proof, objections, and CTA hierarchy."
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"level": "pass",
|
|
321
|
+
"area": "quality",
|
|
322
|
+
"message": "QUALITY_GATES.md defines a multi-area best-practice maturity model."
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"level": "pass",
|
|
326
|
+
"area": "upgrade",
|
|
327
|
+
"message": "UPGRADE.md defines a reviewable upgrade, migration, audit, and rollback lifecycle."
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"level": "warn",
|
|
331
|
+
"area": "evidence",
|
|
332
|
+
"message": "Project evidence docs still contain starter placeholders: COUNCIL.md, SPEC.md, DESIGN.md, MESSAGING.md, SECURITY.md, DEPLOYMENT.md, ASSISTANT_ADAPTERS.md, UPGRADE.md.",
|
|
333
|
+
"remediation": "Replace TBD/example rows with real project evidence, or document why an item is not applicable before claiming strong or best-practice maturity."
|
|
334
|
+
}
|
|
335
|
+
]
|
|
336
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
.
|
|
2
|
+
|-- AGENTS.md
|
|
3
|
+
|-- AGENT_ROSTER.md
|
|
4
|
+
|-- ASSISTANT_ADAPTERS.md
|
|
5
|
+
|-- COUNCIL.md
|
|
6
|
+
|-- SKILLS.md
|
|
7
|
+
|-- SPEC.md
|
|
8
|
+
|-- DECISIONS.md
|
|
9
|
+
|-- DOCS.md
|
|
10
|
+
|-- DESIGN.md
|
|
11
|
+
|-- MESSAGING.md
|
|
12
|
+
|-- MODEL_ROUTING.md
|
|
13
|
+
|-- QUALITY_GATES.md
|
|
14
|
+
|-- STYLE_GUIDE.md
|
|
15
|
+
|-- SECURITY.md
|
|
16
|
+
|-- TESTING.md
|
|
17
|
+
|-- DEPLOYMENT.md
|
|
18
|
+
|-- UPGRADE.md
|
|
19
|
+
|-- .cursor
|
|
20
|
+
| `-- rules
|
|
21
|
+
| |-- cursor-agent-kit.mdc
|
|
22
|
+
| `-- cursor-model-selection.mdc
|
|
23
|
+
`-- .agent-kit
|
|
24
|
+
|-- manifest.json
|
|
25
|
+
|-- agent-roster.json
|
|
26
|
+
|-- model-routing.json
|
|
27
|
+
|-- config.json
|
|
28
|
+
|-- overrides.json
|
|
29
|
+
|-- agents/
|
|
30
|
+
|-- skills/
|
|
31
|
+
|-- prompts/
|
|
32
|
+
|-- checklists/
|
|
33
|
+
|-- design-adapters/
|
|
34
|
+
|-- assistant-adapters/
|
|
35
|
+
|-- design-briefs/
|
|
36
|
+
|-- profiles/
|
|
37
|
+
|-- rosters/
|
|
38
|
+
`-- schemas/
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "next-supabase-default-model-routing",
|
|
4
|
+
"stack": "next-supabase",
|
|
5
|
+
"reviewedAt": "2026-06-03",
|
|
6
|
+
"reviewCadence": "Review quarterly or whenever the active IDE/model provider changes model availability.",
|
|
7
|
+
"principle": "Select model depth by agent responsibility. Keep role behavior in the roster and skills; keep tool-specific model names in dated adapter setup notes.",
|
|
8
|
+
"profiles": [
|
|
9
|
+
{
|
|
10
|
+
"id": "fast-targeted",
|
|
11
|
+
"label": "Fast Targeted",
|
|
12
|
+
"intent": "Use for narrow edits, doc cleanup, simple command interpretation, and low-risk repeated checks.",
|
|
13
|
+
"reasoningEffort": "low",
|
|
14
|
+
"contextWindow": "medium",
|
|
15
|
+
"latency": "low",
|
|
16
|
+
"cost": "low",
|
|
17
|
+
"preferredFor": ["docs-maintainer", "deployment-observability-engineer"]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "balanced-reasoning",
|
|
21
|
+
"label": "Balanced Reasoning",
|
|
22
|
+
"intent": "Use for planning, normal implementation, review synthesis, and tasks where speed and judgment both matter.",
|
|
23
|
+
"reasoningEffort": "medium",
|
|
24
|
+
"contextWindow": "large",
|
|
25
|
+
"latency": "medium",
|
|
26
|
+
"cost": "medium",
|
|
27
|
+
"preferredFor": ["planner", "nextjs-engineer", "qa-engineer"]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "coding-large-context",
|
|
31
|
+
"label": "Coding Large Context",
|
|
32
|
+
"intent": "Use for multi-file Next.js implementation, Server Component boundaries, form flows, and repo-wide code changes.",
|
|
33
|
+
"reasoningEffort": "medium",
|
|
34
|
+
"contextWindow": "large",
|
|
35
|
+
"latency": "medium",
|
|
36
|
+
"cost": "medium",
|
|
37
|
+
"preferredFor": ["nextjs-engineer"]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "deep-reasoning-large-context",
|
|
41
|
+
"label": "Deep Reasoning Large Context",
|
|
42
|
+
"intent": "Use for architecture, cross-layer changes, migrations, security-sensitive work, and ambiguous decisions with high blast radius.",
|
|
43
|
+
"reasoningEffort": "high",
|
|
44
|
+
"contextWindow": "very-large",
|
|
45
|
+
"latency": "high",
|
|
46
|
+
"cost": "high",
|
|
47
|
+
"preferredFor": ["lead-architect", "security-reviewer", "supabase-postgres-engineer"]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "creative-vision-large-context",
|
|
51
|
+
"label": "Creative Vision Large Context",
|
|
52
|
+
"intent": "Use for frontend creative direction, screenshot critique, content-first design, distinctiveness benchmarking, and product-quality review.",
|
|
53
|
+
"reasoningEffort": "high",
|
|
54
|
+
"contextWindow": "large",
|
|
55
|
+
"latency": "medium",
|
|
56
|
+
"cost": "medium",
|
|
57
|
+
"preferredFor": ["frontend-design-lead", "marketing-copy-lead"]
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"agentRoutes": [
|
|
61
|
+
{
|
|
62
|
+
"agentId": "planner",
|
|
63
|
+
"profileId": "balanced-reasoning",
|
|
64
|
+
"defaultEffort": "medium",
|
|
65
|
+
"escalationProfileId": "deep-reasoning-large-context",
|
|
66
|
+
"notes": "Escalate when the plan changes architecture, auth, data model, release workflow, or public package behavior."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"agentId": "lead-architect",
|
|
70
|
+
"profileId": "deep-reasoning-large-context",
|
|
71
|
+
"defaultEffort": "high",
|
|
72
|
+
"notes": "Use for core-change council review and cross-layer decisions."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"agentId": "supabase-postgres-engineer",
|
|
76
|
+
"profileId": "deep-reasoning-large-context",
|
|
77
|
+
"defaultEffort": "high",
|
|
78
|
+
"notes": "Use high reasoning for schema, RLS, migration ordering, rollback, and authorization boundaries."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"agentId": "nextjs-engineer",
|
|
82
|
+
"profileId": "coding-large-context",
|
|
83
|
+
"defaultEffort": "medium",
|
|
84
|
+
"escalationProfileId": "deep-reasoning-large-context",
|
|
85
|
+
"notes": "Escalate when server/client boundaries, caching, auth, or data mutation behavior is uncertain."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"agentId": "frontend-design-lead",
|
|
89
|
+
"profileId": "creative-vision-large-context",
|
|
90
|
+
"defaultEffort": "high",
|
|
91
|
+
"notes": "Use with screenshots, reference sets, content inventory, and product-specific design evidence."
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"agentId": "marketing-copy-lead",
|
|
95
|
+
"profileId": "creative-vision-large-context",
|
|
96
|
+
"defaultEffort": "high",
|
|
97
|
+
"escalationProfileId": "deep-reasoning-large-context",
|
|
98
|
+
"notes": "Use for positioning, value proposition, conversion copy, voice/tone, proof review, and public-facing copy handoff."
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"agentId": "security-reviewer",
|
|
102
|
+
"profileId": "deep-reasoning-large-context",
|
|
103
|
+
"defaultEffort": "high",
|
|
104
|
+
"notes": "Use high reasoning for OWASP, IDOR, SSRF, injection, broken auth, dependency, secret, and release-risk review."
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"agentId": "qa-engineer",
|
|
108
|
+
"profileId": "balanced-reasoning",
|
|
109
|
+
"defaultEffort": "medium",
|
|
110
|
+
"escalationProfileId": "deep-reasoning-large-context",
|
|
111
|
+
"notes": "Escalate for flaky tests, concurrency, auth flows, visual regression, or hard-to-reproduce bugs."
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"agentId": "docs-maintainer",
|
|
115
|
+
"profileId": "fast-targeted",
|
|
116
|
+
"defaultEffort": "low",
|
|
117
|
+
"escalationProfileId": "balanced-reasoning",
|
|
118
|
+
"notes": "Use balanced reasoning when docs encode decisions, migration order, or security-sensitive setup."
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"agentId": "deployment-observability-engineer",
|
|
122
|
+
"profileId": "fast-targeted",
|
|
123
|
+
"defaultEffort": "low",
|
|
124
|
+
"escalationProfileId": "balanced-reasoning",
|
|
125
|
+
"notes": "Escalate for release gates, rollback paths, env var review, logs, or production incidents."
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"toolSurfaces": [
|
|
129
|
+
{
|
|
130
|
+
"tool": "Codex",
|
|
131
|
+
"instructionSurface": "AGENTS.md, .codex/config.toml, and optional .codex/agents/*.toml custom agents",
|
|
132
|
+
"modelSelection": "Default model in config.toml, temporary /model or --model selection, and optional custom-agent model/model_reasoning_effort fields",
|
|
133
|
+
"enforcement": "partial",
|
|
134
|
+
"adapter": ".agent-kit/assistant-adapters/model-selection/codex-config.example.toml"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"tool": "Claude Code",
|
|
138
|
+
"instructionSurface": "CLAUDE.md and .claude/agents/*.md project subagents",
|
|
139
|
+
"modelSelection": "Subagent frontmatter can document or select model where supported by the installed Claude Code version",
|
|
140
|
+
"enforcement": "partial",
|
|
141
|
+
"adapter": ".agent-kit/assistant-adapters/model-selection/claude-code-subagents-with-models.md"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"tool": "Cursor",
|
|
145
|
+
"instructionSurface": ".cursor/rules/*.mdc",
|
|
146
|
+
"modelSelection": "Use Cursor model picker or team setting; project rules advise which profile to pick but do not force the picker",
|
|
147
|
+
"enforcement": "advisory",
|
|
148
|
+
"adapter": ".agent-kit/assistant-adapters/model-selection/cursor-model-selection.mdc"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"tool": "GitHub Copilot",
|
|
152
|
+
"instructionSurface": ".github/copilot-instructions.md and .github/instructions/*.instructions.md",
|
|
153
|
+
"modelSelection": "Use Copilot chat or coding-agent model selection where available; repo instructions advise but do not force model selection",
|
|
154
|
+
"enforcement": "advisory",
|
|
155
|
+
"adapter": ".agent-kit/assistant-adapters/model-selection/github-copilot-model-selection.md"
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"updatePolicy": [
|
|
159
|
+
"Treat model names as dated recommendations, not permanent product truth.",
|
|
160
|
+
"Do not store API keys, tokens, billing data, or private model entitlement notes in model-routing files.",
|
|
161
|
+
"When model availability changes, update adapter examples, MODEL_ROUTING.md, DECISIONS.md, and audit tests in the same change.",
|
|
162
|
+
"If an IDE cannot enforce per-agent model choice, record that limitation in ASSISTANT_ADAPTERS.md instead of pretending the package can force it."
|
|
163
|
+
]
|
|
164
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@appsforgood/next-supabase-kit",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Open agent council, skills, prompts, checklists, and markdown templates for Next.js and Supabase projects.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/lukey662/agentsandskills.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/lukey662/agentsandskills/issues"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/lukey662/agentsandskills#readme",
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public",
|
|
16
|
+
"registry": "https://registry.npmjs.org"
|
|
17
|
+
},
|
|
18
|
+
"bin": {
|
|
19
|
+
"agent-kit": "dist/index.js"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"templates",
|
|
24
|
+
"agents",
|
|
25
|
+
"skills",
|
|
26
|
+
"prompts",
|
|
27
|
+
"checklists",
|
|
28
|
+
"design-adapters",
|
|
29
|
+
"assistant-adapters",
|
|
30
|
+
"model-routing",
|
|
31
|
+
"design-briefs",
|
|
32
|
+
"profiles",
|
|
33
|
+
"rosters",
|
|
34
|
+
"schemas",
|
|
35
|
+
"examples/next-supabase-installed/.agent-kit/agent-roster.json",
|
|
36
|
+
"examples/next-supabase-installed/.agent-kit/model-routing.json",
|
|
37
|
+
"examples/next-supabase-installed/.agent-kit/manifest.json",
|
|
38
|
+
"examples/next-supabase-installed/.agent-kit/overrides.json",
|
|
39
|
+
"examples/next-supabase-installed/audit-output.json",
|
|
40
|
+
"examples/next-supabase-installed/README.md",
|
|
41
|
+
"examples/next-supabase-installed/tree.txt",
|
|
42
|
+
"research/scan-config.json",
|
|
43
|
+
"research/scan-plan.md",
|
|
44
|
+
"research/summaries",
|
|
45
|
+
"research/proposed-updates.md",
|
|
46
|
+
"README.md",
|
|
47
|
+
"CHANGELOG.md",
|
|
48
|
+
"CONTRIBUTING.md",
|
|
49
|
+
"CODE_OF_CONDUCT.md",
|
|
50
|
+
"SUPPORT.md",
|
|
51
|
+
"GOVERNANCE.md",
|
|
52
|
+
"REPOSITORY_SETTINGS.md",
|
|
53
|
+
"SUPPLY_CHAIN.md",
|
|
54
|
+
"BEST_PRACTICE_EVIDENCE.md",
|
|
55
|
+
"DOGFOOD.md",
|
|
56
|
+
"RESEARCH_CITATION_POLICY.md",
|
|
57
|
+
"UPGRADE.md",
|
|
58
|
+
"SECURITY.md",
|
|
59
|
+
"LICENSE"
|
|
60
|
+
],
|
|
61
|
+
"engines": {
|
|
62
|
+
"node": ">=20"
|
|
63
|
+
},
|
|
64
|
+
"packageManager": "npm@11.6.2",
|
|
65
|
+
"scripts": {
|
|
66
|
+
"build": "tsup",
|
|
67
|
+
"dev": "tsx src/cli/index.ts",
|
|
68
|
+
"typecheck": "tsc --noEmit",
|
|
69
|
+
"lint": "tsc --noEmit",
|
|
70
|
+
"test": "vitest run",
|
|
71
|
+
"test:watch": "vitest",
|
|
72
|
+
"smoke": "node dist/index.js doctor",
|
|
73
|
+
"smoke:install": "node scripts/smoke-install.mjs",
|
|
74
|
+
"smoke:studio": "node scripts/smoke-studio.mjs",
|
|
75
|
+
"smoke:audit-gate": "node scripts/smoke-audit-gate.mjs",
|
|
76
|
+
"examples:check": "node scripts/example-check.mjs",
|
|
77
|
+
"version:check": "node scripts/version-check.mjs",
|
|
78
|
+
"sbom:check": "node scripts/sbom-check.mjs",
|
|
79
|
+
"sbom:generate": "node scripts/sbom-check.mjs --output sbom.cdx.json",
|
|
80
|
+
"publish:verify": "node scripts/post-publish-verify.mjs",
|
|
81
|
+
"release:check": "node scripts/release-check.mjs",
|
|
82
|
+
"pack:check": "npm pack --dry-run"
|
|
83
|
+
},
|
|
84
|
+
"dependencies": {
|
|
85
|
+
"@octokit/rest": "^21.1.1",
|
|
86
|
+
"commander": "^12.1.0",
|
|
87
|
+
"simple-git": "^3.27.0",
|
|
88
|
+
"zod": "^3.24.1"
|
|
89
|
+
},
|
|
90
|
+
"devDependencies": {
|
|
91
|
+
"@rolldown/binding-win32-x64-msvc": "^1.0.3",
|
|
92
|
+
"@types/node": "^22.10.5",
|
|
93
|
+
"tsup": "^8.3.5",
|
|
94
|
+
"tsx": "^4.19.2",
|
|
95
|
+
"typescript": "^5.7.3",
|
|
96
|
+
"vitest": "^4.1.8"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Admin App Compatibility Profile
|
|
2
|
+
|
|
3
|
+
Use for internal operations consoles, support tools, moderation systems, and analytics back offices.
|
|
4
|
+
|
|
5
|
+
## Required Emphasis
|
|
6
|
+
|
|
7
|
+
- Least-privilege admin access, audit logs, impersonation controls, and destructive-action review.
|
|
8
|
+
- RLS and server-side authorization for admin-only data and actions.
|
|
9
|
+
- Clear stale-data, partial-data, rate-limit, and permission-denied states.
|
|
10
|
+
- Smoke tests for admin login, core queue processing, audit logging, and access control.
|
|
11
|
+
|
|
12
|
+
## Agent Handoff
|
|
13
|
+
|
|
14
|
+
- Architect owns admin boundaries and workflow invariants.
|
|
15
|
+
- Supabase/Postgres engineer owns policy bypass strategy, audit tables, and queue schema.
|
|
16
|
+
- Security reviewer owns privilege escalation, logging integrity, service-role use, and secrets.
|
|
17
|
+
- Frontend design lead owns dense scanning, filters, bulk actions, and safe destructive flows.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Content App Compatibility Profile
|
|
2
|
+
|
|
3
|
+
Use for publishing systems, editorial workflows, knowledge bases, newsletters, and media apps.
|
|
4
|
+
|
|
5
|
+
## Required Emphasis
|
|
6
|
+
|
|
7
|
+
- Content lifecycle, author/editor roles, source attribution, publishing permissions, and moderation.
|
|
8
|
+
- RLS policies for drafts, private notes, scheduled content, and editorial-only metadata.
|
|
9
|
+
- Empty, unavailable-source, failed-import, scheduled, published, and archived states.
|
|
10
|
+
- Smoke tests for content creation, review, publish, rollback, and reader access.
|
|
11
|
+
|
|
12
|
+
## Agent Handoff
|
|
13
|
+
|
|
14
|
+
- Architect owns content model, lifecycle, and public/private boundaries.
|
|
15
|
+
- Supabase/Postgres engineer owns versioning, indexing, search, and RLS policies.
|
|
16
|
+
- Security reviewer owns stored content safety, upload handling, SSRF, and admin boundaries.
|
|
17
|
+
- Frontend design lead owns reading rhythm, editorial status, attribution, and mobile presentation.
|