@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.
- package/LICENSE +21 -0
- package/dist/DEPENDENCY-LICENSES.txt +261 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3870 -0
- package/dist/settings.json +29 -0
- package/package.json +407 -3
- package/skills/day-zero-deploy/SKILL.md +32 -0
- package/skills/day-zero-deploy/references/local-state.md +267 -0
- package/skills/deploy/SKILL.md +34 -0
- package/skills/deploy/references/configuration.md +142 -0
- package/skills/deploy/references/plan-apply.md +192 -0
- package/skills/deploy/references/saved-plan-review.md +59 -0
- package/README.md +0 -3
|
@@ -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.
|
|
4
|
-
"
|
|
5
|
-
"description": "
|
|
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.
|