@quantile-co/factory-pi 0.0.0-stage → 0.1.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.
@@ -0,0 +1,29 @@
1
+ {
2
+ "defaultTools": ["+codemode", "+tool_search"],
3
+ "showCacheMissNotices": true,
4
+ "packages": [
5
+ {
6
+ "source": "../node_modules/@quantile-co/factory-pi",
7
+ "extensions": ["dist/index.js"],
8
+ "skills": [],
9
+ "prompts": [],
10
+ "themes": []
11
+ },
12
+ {
13
+ "source": "git:github.com/herdrdev/herdr@2ecf19a92fc3a7fff75b6ce3655ef04f4625ec01",
14
+ "extensions": [],
15
+ "skills": [],
16
+ "prompts": [],
17
+ "themes": []
18
+ },
19
+ "npm:pi-memory@0.4.2",
20
+ "npm:pi-web-access@0.42.0",
21
+ "npm:@langfuse/pi-observability-plugin@0.1.2",
22
+ "npm:@langfuse/tracing@5.14.0",
23
+ "npm:@opentelemetry/api@1.9.0"
24
+ ],
25
+ "skills": [],
26
+ "extensions": [
27
+ "./git/github.com/herdrdev/herdr/src/integration/assets/pi/herdr-agent-state.ts"
28
+ ]
29
+ }
package/package.json CHANGED
@@ -1,6 +1,410 @@
1
1
  {
2
2
  "name": "@quantile-co/factory-pi",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.1",
4
+ "license": "MIT",
5
+ "description": "Factory Pi extension and shared skill selections.",
6
+ "type": "module",
7
+ "engines": {
8
+ "node": ">=24"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/quantile-co/factory.git",
13
+ "directory": "packages/pi"
14
+ },
15
+ "publishConfig": {
16
+ "access": "public",
17
+ "registry": "https://registry.npmjs.org/"
18
+ },
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.js"
23
+ }
24
+ },
25
+ "files": [
26
+ "dist",
27
+ "skills"
28
+ ],
29
+ "pi": {
30
+ "extensions": [
31
+ "./dist/index.js"
32
+ ],
33
+ "skills": [],
34
+ "prompts": [],
35
+ "themes": []
36
+ },
37
+ "skills": [
38
+ {
39
+ "source": "marimo-team/marimo-pair/skills/marimo-pair",
40
+ "ref": "5368e127e736881fedd6bd7db315f6f974290230",
41
+ "skills": [
42
+ "marimo-pair"
43
+ ]
44
+ },
45
+ {
46
+ "source": "coreyhaines31/marketingskills/skills/seo-audit",
47
+ "ref": "6b9e9387265d9e3049258f7eae3f746d3c3ddf87",
48
+ "skills": [
49
+ "seo-audit"
50
+ ]
51
+ },
52
+ {
53
+ "source": "vercel-labs/agent-skills/skills/web-design-guidelines",
54
+ "ref": "ba46938889d4e58635362fb8f618e1178ac3ec46",
55
+ "skills": [
56
+ "web-design-guidelines"
57
+ ]
58
+ },
59
+ {
60
+ "source": "cloudflare/skills/skills/web-perf",
61
+ "ref": "3af2c77450c91af61384887def098fbfd247bbad",
62
+ "skills": [
63
+ "web-perf"
64
+ ]
65
+ },
66
+ {
67
+ "source": "addyosmani/web-quality-skills/skills/web-quality-audit",
68
+ "ref": "c6b06ad1285cd6b129b58455b2eec96ab6b67fa7",
69
+ "skills": [
70
+ "web-quality-audit"
71
+ ]
72
+ },
73
+ {
74
+ "source": "addyosmani/web-quality-skills/skills/performance",
75
+ "ref": "c6b06ad1285cd6b129b58455b2eec96ab6b67fa7",
76
+ "skills": [
77
+ "performance"
78
+ ]
79
+ },
80
+ {
81
+ "source": "addyosmani/web-quality-skills/skills/core-web-vitals",
82
+ "ref": "c6b06ad1285cd6b129b58455b2eec96ab6b67fa7",
83
+ "skills": [
84
+ "core-web-vitals"
85
+ ]
86
+ },
87
+ {
88
+ "source": "addyosmani/web-quality-skills/skills/accessibility",
89
+ "ref": "c6b06ad1285cd6b129b58455b2eec96ab6b67fa7",
90
+ "skills": [
91
+ "accessibility"
92
+ ]
93
+ },
94
+ {
95
+ "source": "addyosmani/web-quality-skills/skills/seo",
96
+ "ref": "c6b06ad1285cd6b129b58455b2eec96ab6b67fa7",
97
+ "skills": [
98
+ "seo"
99
+ ]
100
+ },
101
+ {
102
+ "source": "addyosmani/web-quality-skills/skills/best-practices",
103
+ "ref": "c6b06ad1285cd6b129b58455b2eec96ab6b67fa7",
104
+ "skills": [
105
+ "best-practices"
106
+ ]
107
+ },
108
+ {
109
+ "source": "anthropics/skills/skills/webapp-testing",
110
+ "ref": "b9e19e6f44773509fbdd7001d77ff41a49a486c1",
111
+ "skills": [
112
+ "webapp-testing"
113
+ ]
114
+ },
115
+ {
116
+ "source": "ClickHouse/agent-skills/skills/clickhouse-best-practices",
117
+ "ref": "69a8354b05b5942e5cea77b6c87be7788303fc18",
118
+ "skills": [
119
+ "clickhouse-best-practices"
120
+ ]
121
+ },
122
+ {
123
+ "source": "mattpocock/skills/skills/engineering/code-review",
124
+ "ref": "5beb35b040e3de97e54fa9e386d7e42d15c295c2",
125
+ "skills": [
126
+ "code-review"
127
+ ]
128
+ },
129
+ {
130
+ "source": "mattpocock/skills/skills/engineering/diagnosing-bugs",
131
+ "ref": "5beb35b040e3de97e54fa9e386d7e42d15c295c2",
132
+ "skills": [
133
+ "diagnosing-bugs"
134
+ ]
135
+ },
136
+ {
137
+ "source": "trailofbits/skills/plugins/differential-review/skills/differential-review",
138
+ "ref": "196a9073ab10d35bacf111f945e02c00b2c6883a",
139
+ "skills": [
140
+ "differential-review"
141
+ ]
142
+ },
143
+ {
144
+ "source": "docker/skills/skills/docker-build-strategies",
145
+ "ref": "179c9cfd04c89ae50cd5d5d68b939797a8fd03d3",
146
+ "skills": [
147
+ "docker-build-strategies"
148
+ ]
149
+ },
150
+ {
151
+ "source": "docker/skills/skills/docker-compose-patterns",
152
+ "ref": "179c9cfd04c89ae50cd5d5d68b939797a8fd03d3",
153
+ "skills": [
154
+ "docker-compose-patterns"
155
+ ]
156
+ },
157
+ {
158
+ "source": "duckdb/duckdb-skills/skills/duckdb-docs",
159
+ "ref": "7feda8e01e22bc0886c86123f3884947e36d8c69",
160
+ "skills": [
161
+ "duckdb-docs"
162
+ ]
163
+ },
164
+ {
165
+ "source": "firebase/agent-skills/skills/firebase-security-rules-auditor",
166
+ "ref": "92eed24c0976a79a66d5b8038e9eda8b441ef92d",
167
+ "skills": [
168
+ "firebase-security-rules-auditor"
169
+ ]
170
+ },
171
+ {
172
+ "source": "anthropics/skills/skills/frontend-design",
173
+ "ref": "b9e19e6f44773509fbdd7001d77ff41a49a486c1",
174
+ "skills": [
175
+ "frontend-design"
176
+ ]
177
+ },
178
+ {
179
+ "source": "google/skills/skills/cloud/gcloud",
180
+ "ref": "d542604d73544bcb4bcc61322f3b25522ceba7ed",
181
+ "skills": [
182
+ "gcloud"
183
+ ]
184
+ },
185
+ {
186
+ "source": "cli/cli/skills/gh",
187
+ "ref": "fc4b137cdef0a6bd28fd461b7cf9c84a5812a8cd",
188
+ "skills": [
189
+ "gh"
190
+ ]
191
+ },
192
+ {
193
+ "source": "modem-dev/hunk/packages/hunk/skills/hunk-review",
194
+ "ref": "0c6feadb58f99ed9a4876d93168ba776e06a27ec",
195
+ "skills": [
196
+ "hunk-review"
197
+ ]
198
+ },
199
+ {
200
+ "source": "langfuse/skills/skills/langfuse",
201
+ "ref": "4429a94b309980e1cee2f5960c271e123347cb42",
202
+ "skills": [
203
+ "langfuse"
204
+ ]
205
+ },
206
+ {
207
+ "source": "bufbuild/claude-plugins/plugins/protobuf/skills/protobuf",
208
+ "ref": "c4766e5fff1b52283f38bd61122103efe58c60fd",
209
+ "skills": [
210
+ "protobuf"
211
+ ]
212
+ },
213
+ {
214
+ "source": "duckdb/duckdb-skills/skills/query",
215
+ "ref": "7feda8e01e22bc0886c86123f3884947e36d8c69",
216
+ "skills": [
217
+ "query"
218
+ ]
219
+ },
220
+ {
221
+ "source": "resend/resend-skills/skills/react-email",
222
+ "ref": "b2ae7b1798b70134faf679f35fc05b4331462988",
223
+ "skills": [
224
+ "react-email"
225
+ ]
226
+ },
227
+ {
228
+ "source": "duckdb/duckdb-skills/skills/read-file",
229
+ "ref": "7feda8e01e22bc0886c86123f3884947e36d8c69",
230
+ "skills": [
231
+ "read-file"
232
+ ]
233
+ },
234
+ {
235
+ "source": "resend/resend-cli/skills/resend-cli",
236
+ "ref": "cb6244c79757832628c3de3ee60a328cea538039",
237
+ "skills": [
238
+ "resend-cli"
239
+ ]
240
+ },
241
+ {
242
+ "source": "trailofbits/skills/plugins/semgrep-rule-creator/skills/semgrep-rule-creator",
243
+ "ref": "196a9073ab10d35bacf111f945e02c00b2c6883a",
244
+ "skills": [
245
+ "semgrep-rule-creator"
246
+ ]
247
+ },
248
+ {
249
+ "source": "trailofbits/skills/plugins/sharp-edges/skills/sharp-edges",
250
+ "ref": "196a9073ab10d35bacf111f945e02c00b2c6883a",
251
+ "skills": [
252
+ "sharp-edges"
253
+ ]
254
+ },
255
+ {
256
+ "source": "wshobson/agents/plugins/developer-essentials/skills/sql-optimization-patterns",
257
+ "ref": "0874a27b17a22e2b7c2e2bcd725768e0803cad06",
258
+ "skills": [
259
+ "sql-optimization-patterns"
260
+ ]
261
+ },
262
+ {
263
+ "source": "stripe/ai/skills/stripe-best-practices",
264
+ "ref": "8a8818e856376003701bb0d4a569c26bacac1d0e",
265
+ "skills": [
266
+ "stripe-best-practices"
267
+ ]
268
+ },
269
+ {
270
+ "source": "supabase/agent-skills/skills/supabase-postgres-best-practices",
271
+ "ref": "c9be0e931b7930f7d02126d04774d904c381e7d7",
272
+ "skills": [
273
+ "supabase-postgres-best-practices"
274
+ ]
275
+ },
276
+ {
277
+ "source": "obra/superpowers/skills/systematic-debugging",
278
+ "ref": "2ce8aa15d05bd57213e6f746f953aafb7ded7a8b",
279
+ "skills": [
280
+ "systematic-debugging"
281
+ ]
282
+ },
283
+ {
284
+ "source": "tailscale/tailscale-skill/skills/tailscale",
285
+ "ref": "4f05d353efc56962546aa26ccc59bb08ca699ad1",
286
+ "skills": [
287
+ "tailscale"
288
+ ]
289
+ },
290
+ {
291
+ "source": "hashicorp/agent-skills/plugins/terraform/skills/terraform-style-guide",
292
+ "ref": "f706481af9b8fedb66de909f6243ad29601afa0c",
293
+ "skills": [
294
+ "terraform-style-guide"
295
+ ]
296
+ },
297
+ {
298
+ "source": "mattpocock/skills/skills/engineering/to-tickets",
299
+ "ref": "5beb35b040e3de97e54fa9e386d7e42d15c295c2",
300
+ "skills": [
301
+ "to-tickets"
302
+ ]
303
+ },
304
+ {
305
+ "source": "vercel-labs/agent-skills/skills/react-best-practices",
306
+ "ref": "ba46938889d4e58635362fb8f618e1178ac3ec46",
307
+ "skills": [
308
+ "vercel-react-best-practices"
309
+ ]
310
+ },
311
+ {
312
+ "source": "obra/superpowers/skills/verification-before-completion",
313
+ "ref": "2ce8aa15d05bd57213e6f746f953aafb7ded7a8b",
314
+ "skills": [
315
+ "verification-before-completion"
316
+ ]
317
+ },
318
+ {
319
+ "source": "humanlayer/skills/plugins/show-me/skills/show-me",
320
+ "ref": "653b6411c1f70c275a18e37673b042ff99f67ceb",
321
+ "skills": [
322
+ "show-me"
323
+ ]
324
+ },
325
+ {
326
+ "source": "mattpocock/skills/skills/engineering/codebase-design",
327
+ "ref": "5beb35b040e3de97e54fa9e386d7e42d15c295c2",
328
+ "skills": [
329
+ "codebase-design"
330
+ ]
331
+ },
332
+ {
333
+ "source": "mattpocock/skills/skills/engineering/improve-codebase-architecture",
334
+ "ref": "5beb35b040e3de97e54fa9e386d7e42d15c295c2",
335
+ "skills": [
336
+ "improve-codebase-architecture"
337
+ ]
338
+ },
339
+ {
340
+ "source": "dmmulroy/anti-slop/skills/install-anti-slop",
341
+ "ref": "13909c9e07590f5a85d93c62712259fe14a883f7",
342
+ "skills": [
343
+ "install-anti-slop"
344
+ ]
345
+ },
346
+ {
347
+ "source": "antfu/skills/skills/pnpm",
348
+ "ref": "8886fe2d385d3644cbb47e46ae9cb1cf09307d3b",
349
+ "skills": [
350
+ "pnpm"
351
+ ]
352
+ },
353
+ {
354
+ "source": "wshobson/agents/plugins/shell-scripting/skills/bash-defensive-patterns",
355
+ "ref": "0874a27b17a22e2b7c2e2bcd725768e0803cad06",
356
+ "skills": [
357
+ "bash-defensive-patterns"
358
+ ]
359
+ },
360
+ {
361
+ "source": "muratcankoylan/Agent-Skills-for-Context-Engineering/skills/context-compression",
362
+ "ref": "9ff0c99108b36d3b886defd825d8ac1f47dba374",
363
+ "skills": [
364
+ "context-compression"
365
+ ]
366
+ },
367
+ {
368
+ "source": "muratcankoylan/Agent-Skills-for-Context-Engineering/skills/context-optimization",
369
+ "ref": "9ff0c99108b36d3b886defd825d8ac1f47dba374",
370
+ "skills": [
371
+ "context-optimization"
372
+ ]
373
+ },
374
+ {
375
+ "source": "backnotprop/pstack/skills/unslop",
376
+ "ref": "18b6c36e6e201b110acc62472de987416ac4e23b",
377
+ "skills": [
378
+ "unslop"
379
+ ]
380
+ },
381
+ {
382
+ "source": "mattpocock/skills/skills/engineering/setup-matt-pocock-skills",
383
+ "ref": "5beb35b040e3de97e54fa9e386d7e42d15c295c2",
384
+ "skills": [
385
+ "setup-matt-pocock-skills"
386
+ ]
387
+ }
388
+ ],
389
+ "dependencies": {
390
+ "@langfuse/tracing": "5.14.0",
391
+ "@opentelemetry/api": "1.9.0"
392
+ },
393
+ "peerDependencies": {
394
+ "@earendil-works/pi-ai": "*",
395
+ "@earendil-works/pi-coding-agent": "*"
396
+ },
397
+ "peerDependenciesMeta": {
398
+ "@earendil-works/pi-ai": {
399
+ "optional": true
400
+ },
401
+ "@earendil-works/pi-coding-agent": {
402
+ "optional": true
403
+ }
404
+ },
405
+ "scripts": {
406
+ "build": "vite build",
407
+ "check": "tsc -p tsconfig.json --noEmit",
408
+ "test": "vitest run --maxWorkers=4"
409
+ }
6
410
  }
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: day-zero-deploy
3
+ description: Bootstrap a genuinely new Factory-module installation, migrate local state to GCS, hand off to protected saved-plan workflows, and remove the bootstrap operator's direct Owner grant. Never reseed an existing installation.
4
+ ---
5
+
6
+ # Day Zero
7
+
8
+ Read [the full bootstrap procedure](references/local-state.md) before
9
+ acting. Work from the consuming repository root in its pinned direnv shell.
10
+ Read `AGENTS.md`, `.pi/memory/MEMORY.md`, the current Terraform root, its
11
+ pinned Factory module sources, the consumer's shell and task scripts, and production workflow callers
12
+ **and** called workflows. Set local `TF_DIR` from the repository task/app's mapping
13
+ of the workflow's logical `--tf-layer`. Do not substitute unverified bootstrap instructions
14
+ or assume a local checkout without state is a fresh installation.
15
+
16
+ Confirm the target and inventory existing resources and local/remote state
17
+ first. For an existing installation use [deploy](../deploy/SKILL.md). Execute
18
+ only an explicitly approved phase. Each credential operation, import, Apply,
19
+ state migration, IAM change, workflow dispatch or retry needs separate approval.
20
+ The code examples are a phase-by-phase procedure, not permission to run all of
21
+ them end-to-end or evidence that every consumer has been bootstrapped.
22
+
23
+ Review and, for the new installation, adjust the concrete root's source-owned
24
+ repository identity, billing account, parent folder, bucket location and paired
25
+ owner/member records before seeding. Confirm the values and identity pairings;
26
+ runtime variables do not override them. Keep existing installations unchanged
27
+ unless a separately reviewed resource or access change is intended. Supply
28
+ verified `GH_REPO`, WIF and the provider token from approved runtime sources. Never hardcode a Factory
29
+ repository identity into consumer source or expose token values through Nix,
30
+ Terraform inputs, Git or public logs. Preserve WIF, locks, backups and recovery
31
+ access. After CI handoff remove only the bootstrap human's direct Owner grant,
32
+ never standing creator/billing, CI or recovery grants.