@ojokesusu/lintasai 1.1.2

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.
Files changed (86) hide show
  1. package/.github/workflows/publish-npm.yml +40 -0
  2. package/.github/workflows/validate.yml +93 -0
  3. package/AUDIT_POST_SETUP_PROMPT_v1.md +280 -0
  4. package/BOOTSTRAP_PROJECT_DOCS_PROMPT_v1.md +3 -0
  5. package/CHANGELOG.md +313 -0
  6. package/CLAUDE_universal_v1.md +1021 -0
  7. package/CONTRIBUTING.md +101 -0
  8. package/FIRST_SESSION_PROMPT_v1.md +7 -0
  9. package/JALANKAN_KIT.md +188 -0
  10. package/LICENSE +21 -0
  11. package/MULAI_DI_SINI.md +145 -0
  12. package/PROJECT_KICKOFF_PROMPT_v1.md +3 -0
  13. package/PROJECT_LIFECYCLE_PROMPT_v1.md +536 -0
  14. package/PROJECT_MIGRATION_PROMPT_v1.md +3 -0
  15. package/README.md +505 -0
  16. package/SETUP_POLA_B_PROMPT_v1.md +5 -0
  17. package/SPLIT_REPO_MIGRATION_PROMPT_v1.md +485 -0
  18. package/TEAM_ROLLOUT_GUIDE_v1.md +172 -0
  19. package/UPDATE_DOCS_PROMPT_v1.md +3 -0
  20. package/UPDATE_KIT_PROMPT_v1.md +213 -0
  21. package/bin/lintasai.js +81 -0
  22. package/docs/SIGNED_RELEASE.md +162 -0
  23. package/install-windows.ps1 +225 -0
  24. package/kit.ps1 +508 -0
  25. package/lib/agents-md.ps1 +174 -0
  26. package/lib/git-helpers.ps1 +104 -0
  27. package/lib/kit-files.psd1 +133 -0
  28. package/lib/manifest-signing.ps1 +65 -0
  29. package/lib/manifest.ps1 +267 -0
  30. package/lib/rollback.ps1 +241 -0
  31. package/lib/safety.ps1 +193 -0
  32. package/lib/template-deploy.ps1 +242 -0
  33. package/lib/version-detect.ps1 +161 -0
  34. package/package.json +36 -0
  35. package/setup-pola-b.ps1 +687 -0
  36. package/templates/ANALOGI_LIBRARY.md +7 -0
  37. package/templates/CLAUDE_TEAM_GUIDE.md +505 -0
  38. package/templates/CROSS_REPO_TYPES_PIPELINE.md +473 -0
  39. package/templates/DB_SCHEMA_SCAN_PROMPT.md +194 -0
  40. package/templates/DISCORD_BOT_INTEGRATION.md +187 -0
  41. package/templates/GLOSSARY_NON_PROGRAMMER.md +361 -0
  42. package/templates/INDEX.md +157 -0
  43. package/templates/MCP_SETUP.md +1145 -0
  44. package/templates/MIGRATE_TO_SUBFOLDER_PROMPT_v1.md +220 -0
  45. package/templates/ONBOARDING.md +172 -0
  46. package/templates/PROJECT_STARTER_TEMPLATES.md +264 -0
  47. package/templates/PROMPT_LIBRARY.md +790 -0
  48. package/templates/RLS_SETUP_PROMPT.md +167 -0
  49. package/templates/SECURITY_INCIDENT_PLAYBOOK.md +191 -0
  50. package/templates/SPLIT_REPO_AGENTS_TEMPLATES.md +32 -0
  51. package/templates/SPLIT_REPO_NON_PROGRAMMER_PROMPTS.md +604 -0
  52. package/templates/SPLIT_REPO_TOOLS_SETUP.md +388 -0
  53. package/templates/STACK_DETECTION_PATTERN.md +261 -0
  54. package/templates/STACK_GUIDE.md +564 -0
  55. package/templates/STACK_MIGRATION_GUIDE.md +154 -0
  56. package/templates/STACK_VERSIONS.md +31 -0
  57. package/templates/UPDATE_GUIDE.md +246 -0
  58. package/templates/_EXAMPLE.md +110 -0
  59. package/templates/_PATTERNS.md +173 -0
  60. package/templates/architecture.md +180 -0
  61. package/templates/architecture_auto.md +61 -0
  62. package/templates/decisions/README.md +108 -0
  63. package/templates/decisions/_TEMPLATE.md +84 -0
  64. package/templates/feature-flags-advanced.md +171 -0
  65. package/templates/github/CODEOWNERS.template +61 -0
  66. package/templates/github/GENERATE_TYPES_SCRIPT.md +77 -0
  67. package/templates/github/PUBLISH_SHARED_WORKFLOW.yml +52 -0
  68. package/templates/github/RECEIVE_BACKEND_UPDATE.yml +106 -0
  69. package/templates/github/RENOVATE_FRONTEND.json +28 -0
  70. package/templates/github/TRIGGER_FRONTEND_UPDATE.yml +29 -0
  71. package/templates/github/pull_request_template.md +44 -0
  72. package/templates/github/scripts/ai-review.js +153 -0
  73. package/templates/github/workflows/ai-review.yml +61 -0
  74. package/templates/github/workflows/backup-schemas.yml +169 -0
  75. package/templates/glossary.md +110 -0
  76. package/templates/split-agents/BACKEND.md +149 -0
  77. package/templates/split-agents/FRONTEND.md +141 -0
  78. package/templates/split-agents/SHARED.md +82 -0
  79. package/templates/split-agents/TOOLS.md +77 -0
  80. package/tests/Run-Tests.ps1 +19 -0
  81. package/tests/lib-safety.Tests.ps1 +66 -0
  82. package/tests/rollback.Tests.ps1 +66 -0
  83. package/tests/uninstall.Tests.ps1 +265 -0
  84. package/tests/update-kit.Tests.ps1 +78 -0
  85. package/uninstall.ps1 +794 -0
  86. package/update-kit.ps1 +907 -0
@@ -0,0 +1,485 @@
1
+ # Split Repo Migration Prompt - lintasAI v1.0.0
2
+
3
+ > **Paste ke Claude Code di project monolithic kamu** untuk migrate jadi 3 repo split (frontend + backend + shared).
4
+ > Goal: TRUE READ isolation untuk business logic, foundation untuk scale 3-30+ staff.
5
+ > Effort: 4-6 minggu owner (otomatis dengan AI).
6
+ >
7
+ > **Note:** akses-tools sebagai repo terpisah cuma kalau team grow >20 staff atau compliance audit. Default: scripts di backend/scripts/.
8
+
9
+ ---
10
+
11
+ ## Yang akan saya (AI) lakukan setelah kamu paste prompt ini
12
+
13
+ 1. **Analyze project structure** kamu sekarang:
14
+ - Detect: Next.js (full-stack monolith)? Other stack?
15
+ - Inventory: berapa lib file, API route, component, prisma model
16
+ - Identify: which file = UI (frontend), which = business logic (backend), which = types (shared); ops scripts default ke backend/scripts/
17
+ - Estimate: total LOC per kategori, complexity score, dependency graph
18
+
19
+ 2. **Propose detailed migration plan**:
20
+ - 3 repo target name + content map per repo
21
+ - Migration timeline (minggu 1-6)
22
+ - Risk + rollback strategy
23
+ - Tools yang perlu di-setup (Swagger, Storybook, dst)
24
+ - Cost impact (Vercel, GitHub Package, dst)
25
+
26
+ 3. **Wait konfirmasi owner** sebelum eksekusi (3-option Y/N/customize)
27
+ - YES: lanjut full execution
28
+ - NO: stop, save plan ke docs/migration-plan-draft.md
29
+ - CUSTOMIZE: owner adjust mapping atau timeline dulu
30
+
31
+ 4. **Execute migration step-by-step**:
32
+ - Create 3 GitHub repo (panduan manual + verify)
33
+ - Extract code ke repo masing-masing
34
+ - Setup @akses/shared package
35
+ - Setup Swagger di backend
36
+ - Setup AGENTS.md per repo (template dari lintasAI)
37
+ - Setup deployment pipeline (Vercel x2 + GitHub Package npm)
38
+ - Verify dengan smoke test
39
+ - Update CODEOWNERS + tier mapping
40
+
41
+ 5. **Generate transition doc untuk staff**:
42
+ - Cheatsheet prompt non-programmer
43
+ - Owner playbook ongoing
44
+ - Cross-team coordination guide
45
+
46
+ ---
47
+
48
+ ## Pre-requisite (Yang Owner Siapkan Sebelum Paste)
49
+
50
+ - [ ] Project mature (sudah ada code real, bukan boilerplate fresh Next.js)
51
+ - [ ] Sudah pakai lintasAI v1.0.0+ (cek .claude-kit/CHANGELOG.md)
52
+ - [ ] Sudah hire 3+ staff (atau planning untuk hire)
53
+ - [ ] Mau invest 4-6 minggu time
54
+ - [ ] Backup repo current (git tag pre-split-backup)
55
+ - [ ] Punya akses owner ke GitHub org (untuk bikin 3 repo private)
56
+ - [ ] Punya akses Vercel (atau platform deploy lain) dengan slot project minimal 2
57
+ - [ ] CI/CD current di-pause atau di-freeze selama migration
58
+
59
+ ---
60
+
61
+ ## Yang Saya Butuhkan Sebelum Mulai
62
+
63
+ Sebelum jalankan migration, saya akan tanya:
64
+
65
+ 1. Nama project kamu apa? (untuk naming convention: <project>-frontend, dst)
66
+ 2. GitHub username owner: ojokesusu atau lain?
67
+ 3. Berapa staff total saat ini? Berapa Backend Staff (yang punya akses backend)?
68
+ 4. Stack saat ini: Next.js? Atau lain?
69
+ 5. Frontend baru pakai apa? (Next.js SPA mode / React Vite / lain)
70
+ 6. Backend baru pakai apa? (Next.js API mode / Hono / Express / lain)
71
+ 7. Database: Supabase, atau lain?
72
+ 8. Tools yang mau di-setup: pilih dari list (Swagger, Storybook, Playwright, webhooks, Sentry, dst)
73
+
74
+ Tambahan opsional yang membantu (boleh skip kalau belum tahu):
75
+ - Apakah ada secrets/env yang TIDAK boleh leak ke frontend repo? (list keyword)
76
+ - Apakah ada module legacy yang TIDAK akan di-migrate (deprecated)?
77
+ - Target deploy date (untuk reverse-plan timeline)?
78
+
79
+ ---
80
+
81
+ ## Workflow Migration (Yang Saya Eksekusi)
82
+
83
+ ### Week 1 — Setup Repo + Tools
84
+
85
+ **Day 1: Backup + Plan**
86
+ - `git tag pre-split-backup-<date>` di repo current
87
+ - Push tag ke origin
88
+ - Bikin doc PLAN.md di repo current (timeline + responsible)
89
+ - Snapshot DB Supabase (kalau pakai) sebagai safety net
90
+
91
+ **Day 2-3: Create 3 GitHub repo**
92
+ - Owner: bikin `<project>-frontend` (Private, invite Frontend Staff)
93
+ - Owner: bikin `<project>-backend` (Private, invite Backend Staff ONLY)
94
+ - Owner: bikin `<project>-shared` (Private, semua staff read)
95
+ - Setup branch protection: main = require PR + review
96
+ - Setup CODEOWNERS per repo (backend/scripts/ → owner-only via CODEOWNERS rule)
97
+
98
+ **Day 4-5: Setup tools per repo**
99
+ - `<project>-backend`: install Hono/Express ATAU setup Next.js API mode
100
+ - `<project>-backend`: install `next-swagger-doc` untuk auto-Swagger UI
101
+ - `<project>-shared`: setup TypeScript + tsup build
102
+ - `<project>-frontend`: clean up old API routes (move ke backend)
103
+ - Install `.claude-kit` lintasAI di tiap repo
104
+ - Bikin `AGENTS.md` per repo (template berbeda untuk frontend vs backend)
105
+
106
+ ### Week 2-3 — Extract Code
107
+
108
+ **Identify per file:**
109
+
110
+ | Source path (monolith) | Target repo |
111
+ |---|---|
112
+ | `src/lib/auth`, `billing`, `security`, `encryption`, `*-crypto` | `<project>-backend` |
113
+ | `src/lib/format`, `useDebounce`, `hooks` (UI) | STAY at frontend |
114
+ | `prisma/` | `<project>-backend` |
115
+ | `src/app/api/` | `<project>-backend` (refactor as Hono route atau Next.js API) |
116
+ | `src/app/(public)/`, `dashboard/` UI | `<project>-frontend` |
117
+ | `src/components/` | `<project>-frontend` |
118
+ | TypeScript types shared | `<project>-shared` |
119
+ | Scripts ops (`scripts/*.ts` audit, migration, cron) | `<project>-backend/scripts/` (owner-only via CODEOWNERS) |
120
+ | `.github/workflows/*` | Split per repo |
121
+
122
+ **Refactor imports:**
123
+
124
+ ```ts
125
+ // SEBELUM (monolith)
126
+ import { OrderType } from '@/lib/types'
127
+ import { db } from '@/lib/db'
128
+
129
+ // SESUDAH frontend
130
+ import { OrderType } from '@<project>/shared'
131
+ const data = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/api/orders`)
132
+
133
+ // SESUDAH backend
134
+ import { OrderType } from '@<project>/shared'
135
+ import { db } from './db'
136
+ ```
137
+
138
+ **API Route Pattern (Decision Point):**
139
+
140
+ ```
141
+ DEFAULT (RECOMMENDED): Option B - Frontend Shell Wrapper
142
+
143
+ Frontend keep app/api/ sebagai shell 3-baris yang forward ke backend:
144
+ // frontend/src/app/api/orders/route.ts
145
+ import { handleOrdersList, handleOrdersCreate } from '@<project>/backend-client'
146
+ export const GET = handleOrdersList
147
+ export const POST = handleOrdersCreate
148
+
149
+ Pros:
150
+ - Keep Next.js Server Action benefit (velocity 2x faster)
151
+ - Privacy preserved: logic di @<project>/backend-client (compiled JS), bukan TS source
152
+ - TypeScript types auto-inferred
153
+ - Standard pattern SaaS (Linear, Notion)
154
+
155
+ Cons:
156
+ - Slight duplication (route defined di 2 tempat)
157
+
158
+ ---
159
+
160
+ ALTERNATIVE: Option A - Pure SPA
161
+
162
+ Frontend tidak punya app/api/ at all. Semua API call ke backend external URL via fetch.
163
+
164
+ Pros:
165
+ - TRUE total separation
166
+ - No duplicate route definition
167
+
168
+ Cons:
169
+ - Lose Next.js Server Action benefit
170
+ - Need CORS setup
171
+ - Slower develop cycle
172
+
173
+ ---
174
+
175
+ DEFAULT pilih: B (RECOMMENDED). Pilih A cuma kalau spesifik mau full SPA architecture.
176
+ ```
177
+
178
+ **Update package.json:**
179
+ - Frontend: tambah `@<project>/shared` as dep
180
+ - Backend: tambah `@<project>/shared` as dep
181
+ - Backend: tambah `next-swagger-doc` atau equivalent
182
+ - Backend scripts (di `backend/scripts/`): minimal deps (tsx, zod, supabase client) — share package.json backend
183
+
184
+ ### Week 4 — Deploy Pipeline
185
+
186
+ - Vercel project baru untuk frontend (`<project>-frontend`)
187
+ - Vercel project baru untuk backend (`<project>-backend`) — atau Railway/Render kalau Hono
188
+ - GitHub Package untuk `@<project>/shared` (atau private npm)
189
+ - Environment vars:
190
+ - Frontend: `NEXT_PUBLIC_API_URL`, `NEXT_PUBLIC_*` only
191
+ - Backend: `DATABASE_URL`, `SUPABASE_SERVICE_ROLE_KEY`, secrets, dst
192
+ - Shared: TIDAK ada env
193
+ - Setup CI/CD per repo (GitHub Actions: lint, typecheck, test, deploy)
194
+ - Setup preview deployment per PR
195
+
196
+ ### Week 5 — Onboard Staff
197
+
198
+ - Brief staff dengan cheatsheet (deploy `SPLIT_REPO_NON_PROGRAMMER_PROMPTS.md`)
199
+ - Migrate `.staff-profile.md` per laptop:
200
+ - Frontend Staff: clone `<project>-frontend` + `<project>-shared`
201
+ - Backend Staff: clone `<project>-backend` + `<project>-shared`
202
+ - Test workflow: backend tim build API endpoint baru, frontend tim consume via Swagger doc
203
+ - Setup Slack/chat channel cross-repo coordination
204
+ - Train staff hit endpoint backend dengan `curl` atau Postman
205
+
206
+ ### Week 6 — Smoke Test + Cutover
207
+
208
+ - E2E test full flow (login → action → DB write → read)
209
+ - Switch DNS/Vercel ke split deployment
210
+ - Monitor 1 minggu: error rate, latency, build success rate
211
+ - Decommission monolithic repo (archive di GitHub, BUKAN delete)
212
+ - Update dokumentasi external (README publik, status page, dst)
213
+
214
+ ---
215
+
216
+ ## Workflow Auto-Push 3 Repo dari Monolith
217
+
218
+ ### Pre-Migration (Owner Manual)
219
+
220
+ Owner pre-buat 3 repo di GitHub (5 menit):
221
+
222
+ 1. github.com/new → Create:
223
+ - Name: <project>-frontend
224
+ - Visibility: Private
225
+ - DO NOT add README, .gitignore, atau license (truly empty)
226
+ 2. Repeat untuk <project>-backend dan <project>-shared
227
+
228
+ Invite collaborator sesuai role:
229
+ - frontend: 4 Frontend Staff + 2 Backend Staff + owner
230
+ - backend: 2 Backend Staff + owner
231
+ - shared: 4 staff (read) + owner (write)
232
+
233
+ ### Migration Execution (AI Auto-Push)
234
+
235
+ User paste prompt ke Claude Code:
236
+
237
+ ```
238
+ Migrate <project> ke split repo. Repo URL:
239
+ - Frontend: https://github.com/<owner>/<project>-frontend
240
+ - Backend: https://github.com/<owner>/<project>-backend
241
+ - Shared: https://github.com/<owner>/<project>-shared
242
+ ```
243
+
244
+ AI execute (otomatis, tanpa konfirmasi step-by-step):
245
+
246
+ 1. Analyze project current (auto-detect via STACK_DETECTION_PATTERN.md)
247
+
248
+ 2. Generate file mapping (berdasarkan role system):
249
+ - File Backend grade → backend
250
+ - File Frontend UI → frontend
251
+ - Types → shared
252
+
253
+ 3. Create 3 temp folder lokal:
254
+ - C:\temp\<project>-split\<project>-frontend\
255
+ - C:\temp\<project>-split\<project>-backend\
256
+ - C:\temp\<project>-split\<project>-shared\
257
+
258
+ 4. Per temp folder:
259
+ - Copy files berdasarkan mapping
260
+ - Generate package.json, tsconfig.json, AGENTS.md per repo (dari template split-agents/)
261
+ - Generate .gitignore standard
262
+ - git init
263
+ - git branch -M main
264
+ - git add .
265
+ - git commit -m "initial commit from <project> monolith split"
266
+ - git remote add origin <URL>
267
+ - git push -u origin main
268
+
269
+ 5. Output report:
270
+ ```
271
+ Migration complete. 3 repo pushed:
272
+ - https://github.com/<owner>/<project>-frontend (95 files)
273
+ - https://github.com/<owner>/<project>-backend (28 files)
274
+ - https://github.com/<owner>/<project>-shared (13 files)
275
+
276
+ Next steps:
277
+ 1. Setup Vercel deploy untuk frontend + backend (panduan di SPLIT_REPO_TOOLS_SETUP.md)
278
+ 2. Verify staff invite di masing-masing repo
279
+ 3. Brief staff dengan SPLIT_REPO_NON_PROGRAMMER_PROMPTS.md
280
+ ```
281
+
282
+ 6. Ask: "Mau pertahankan temp folder C:\temp\<project>-split\ untuk backup? (Y/N)"
283
+ - Y: keep folder, archive original akses repo
284
+ - N: delete temp folder
285
+
286
+ ### Pre-Requisite Checks
287
+
288
+ AI verify sebelum mulai:
289
+ - [ ] 3 repo URLs accessible (HTTP 200 ke API GitHub)
290
+ - [ ] Owner punya write permission di 3 repo
291
+ - [ ] 3 repo TRULY empty (no commits)
292
+ - [ ] Local Git installed
293
+ - [ ] GitHub credentials setup (gh auth status)
294
+ - [ ] Working tree clean (no uncommitted changes)
295
+
296
+ Kalau ada gagal, AI lapor + minta owner fix dulu.
297
+
298
+ ### Rollback Plan
299
+
300
+ Kalau migration error di tengah:
301
+ 1. Temp folders preserve (tidak auto-delete saat error)
302
+ 2. Original monolith repo TIDAK ke-modify
303
+ 3. 3 repo baru bisa di-reset:
304
+ - github.com/<owner>/<repo>/settings → Delete repository
305
+ - Atau: bikin ulang dari scratch
306
+ 4. Owner cuma kehilangan 4-6 jam effort, no data loss
307
+
308
+ ### Estimasi Effort
309
+
310
+ | Step | Effort |
311
+ |---|---|
312
+ | Owner pre-buat 3 repo | 5 menit |
313
+ | Owner paste prompt | 30 detik |
314
+ | AI execute (file copy + push) | 30-60 menit |
315
+ | Owner review + verify | 15 menit |
316
+ | **Total** | **~1.5 jam** |
317
+
318
+ ---
319
+
320
+ ## Penting: Reversibility
321
+
322
+ Kalau setelah migration berasa tidak suit:
323
+ - 3 repo masih ada di GitHub (private, bisa di-restore)
324
+ - Repo lama (monolith) di-archive, BUKAN dihapus (cuma archive)
325
+ - Bisa re-merge balik ke monolith dalam 1-2 minggu kalau perlu
326
+ - DB tetap sama (Supabase shared), tidak ada data loss risk
327
+ - Vercel project lama bisa di-pause (tidak hapus), revert dengan rebuild
328
+
329
+ **Rollback procedure (kalau Week 5-6 fail):**
330
+ 1. Pause Vercel project frontend + backend baru
331
+ 2. Re-deploy Vercel project monolith dari tag `pre-split-backup-<date>`
332
+ 3. Update DNS balik ke monolith
333
+ 4. Brief staff: "kembali ke workflow lama, debrief root cause minggu depan"
334
+ 5. 3 repo split tetap di GitHub (jangan hapus) untuk forensic + retry
335
+
336
+ ---
337
+
338
+ ## Cara Pakai Prompt Ini
339
+
340
+ 1. Pastikan kamu di project root (yang sudah pakai lintasAI v1.0.0+)
341
+ 2. Verify `git status` clean (commit semua WIP dulu)
342
+ 3. Copy SEMUA isi file ini dari header sampai akhir
343
+ 4. Paste ke chat Claude Code
344
+ 5. AI akan analyze project + tanya 8 pertanyaan kamu
345
+ 6. Jawab pertanyaan, AI generate plan + minta konfirmasi
346
+ 7. Confirm (YES/NO/CUSTOMIZE), AI execute step-by-step
347
+ 8. Owner review + verify per minggu (cek doc weekly-checkpoint.md yang saya generate)
348
+
349
+ ---
350
+
351
+ ## FAQ
352
+
353
+ **Q: Skala project saya kecil (cuma 2 staff), perlu split?**
354
+ A: Tidak. Pakai monorepo + CODEOWNERS sudah cukup. Split repo make sense untuk 3+ staff + mau privacy code business logic.
355
+
356
+ **Q: Bisakah skip beberapa step?**
357
+ A: Migration tools (Swagger, Storybook) bisa skip awal, tambah belakangan. Tapi 3 repo setup wajib (frontend + backend + shared). Tools/scripts ops default ke `backend/scripts/` — naik ke repo terpisah cuma kalau team >20 staff atau compliance audit.
358
+
359
+ **Q: Apa kalau gagal di tengah?**
360
+ A: Tag `pre-split-backup` masih ada. Rollback dengan `git reset` + delete 3 repo baru (atau archive). Tidak ada damage permanent ke production karena DB shared.
361
+
362
+ **Q: Vercel cost naik?**
363
+ A: Free tier support multiple project. Pro $20/bln cukup untuk 2-3 project. Cost increment kecil (< $20/bln tambahan).
364
+
365
+ **Q: Staff tim langsung paham?**
366
+ A: Tidak. Butuh brief 1 hari pakai `SPLIT_REPO_NON_PROGRAMMER_PROMPTS.md` cheatsheet. Setelah 1 minggu adoption, mereka familiar.
367
+
368
+ **Q: Bagaimana kalau Frontend Staff iseng curi-curi clone backend repo?**
369
+ A: GitHub repo private = Frontend Staff TIDAK ada akses (403 saat clone). Ini real READ isolation, bukan sekedar `.gitignore`.
370
+
371
+ **Q: API contract berubah, frontend break?**
372
+ A: Itu manfaat Swagger. Backend update OpenAPI spec → frontend regenerate types dari spec → TypeScript compile error muncul di frontend = early signal. Tidak perlu wait runtime error.
373
+
374
+ **Q: Shared package update, harus rebuild semua repo?**
375
+ A: Iya, tapi auto. Setup GitHub Action: shared push → trigger frontend + backend rebuild + redeploy. Atau pakai workflow_dispatch manual kalau mau lebih hati-hati.
376
+
377
+ **Q: Database migration jadi gimana?**
378
+ A: Pindah ke `<project>-backend` (yang punya akses Prisma). Frontend tidak punya Prisma sama sekali. Migration dijalankan dari backend CI/CD.
379
+
380
+ **Q: Apa kalau owner solo (tidak ada Backend Staff)?**
381
+ A: Owner pegang semua 3 repo. Split tetap berguna untuk: (1) discipline arsitektur, (2) onboarding staff masa depan, (3) ready-state untuk hire Backend Staff.
382
+
383
+ **Q: Berapa lama break-even effort 4-6 minggu ini?**
384
+ A: Tipikal: 3 bulan setelah migration, owner save 5-10 jam/minggu karena (1) staff onboarding faster, (2) review PR scope smaller, (3) build time per repo lebih cepat. Total ROI ~6 bulan.
385
+
386
+ **Q: Kalau project saya non-Next.js (misal SvelteKit, Nuxt, Remix)?**
387
+ A: AI saya akan adapt plan ke stack kamu. Konsep 3 repo + shared package + Swagger contract sama, cuma implementasi berbeda. Tanya saat pre-flight pertanyaan ke-4.
388
+
389
+ **Q: Bagaimana dengan auth (NextAuth, Clerk, Auth0)?**
390
+ A: Auth provider biasanya stay di backend (token issued by backend, frontend hanya consume session). NextAuth → migrate ke backend, frontend pakai `next-auth/react` client-side only. Clerk/Auth0 → both side perlu key (publishable di frontend, secret di backend).
391
+
392
+ ---
393
+
394
+ ## Risk Catalog (Yang Saya Mitigasi)
395
+
396
+ | Risk | Likelihood | Impact | Mitigation |
397
+ |---|---|---|---|
398
+ | Build break karena import path salah | High | Medium | TypeScript strict + CI typecheck per PR |
399
+ | Staff bingung workflow baru | High | Medium | Cheatsheet + brief 1 hari + Slack channel |
400
+ | Swagger doc out-of-sync dengan implementasi | Medium | High | Auto-generate dari decorator/annotation, CI validate |
401
+ | Shared package version drift | Medium | Medium | Lockfile + auto-bump via Renovate/Dependabot |
402
+ | Vercel build longer karena 2 project | Low | Low | Build paralel, total time tetap sama |
403
+ | Secrets leak ke frontend repo accidentally | Low | Critical | Pre-commit hook scan `.env*` + GitHub secret scanning |
404
+ | Owner kelelahan 4-6 minggu | Medium | High | Weekly checkpoint, skip-able tools, rollback option |
405
+
406
+ ---
407
+
408
+ ## Output Artifacts (Yang Saya Generate)
409
+
410
+ Setelah migration selesai, kamu akan punya:
411
+
412
+ 1. **3 GitHub repo** dengan AGENTS.md per repo
413
+ 2. **PLAN.md** di tiap repo (timeline + decisions)
414
+ 3. **CODEOWNERS** per repo
415
+ 4. **`.claude-kit/`** terinstall di tiap repo (lintasAI v1.0.0+)
416
+ 5. **Swagger UI** di `<project>-backend/api/docs`
417
+ 6. **Storybook** di `<project>-frontend/storybook` (opsional)
418
+ 7. **`SPLIT_REPO_NON_PROGRAMMER_PROMPTS.md`** untuk brief staff
419
+ 8. **`OWNER_PLAYBOOK.md`** untuk ongoing maintenance
420
+ 9. **`CROSS_TEAM_COORDINATION.md`** untuk komunikasi frontend-backend
421
+ 10. **Weekly checkpoint doc** (`docs/migration-week-N.md`) untuk audit trail
422
+
423
+ ---
424
+
425
+ ## Checkpoint Verifikasi (Per Minggu)
426
+
427
+ **End of Week 1:** 3 repo created, tools installed, AGENTS.md committed. Verify: `gh repo view <project>-frontend`, dst.
428
+
429
+ **End of Week 2-3:** Code extracted, imports refactored, build pass per repo. Verify: `pnpm build` di tiap repo.
430
+
431
+ **End of Week 4:** Deploy preview live di Vercel, Swagger UI accessible, smoke test endpoint OK. Verify: hit `<backend-url>/api/health`.
432
+
433
+ **End of Week 5:** Staff onboarded, first PR dari staff di split repo merge. Verify: cek GitHub activity per staff.
434
+
435
+ **End of Week 6:** Production switch, monitoring 7 hari clean. Verify: error rate < baseline, latency stabil.
436
+
437
+ ---
438
+
439
+ ## Penting: Komunikasi Staff
440
+
441
+ Setelah Day 1 (`pre-split-backup` tag), AI saya akan generate **announcement template** untuk kamu kirim ke staff:
442
+
443
+ ```
444
+ Hi tim,
445
+
446
+ Mulai minggu depan, kita migrasi project ke arsitektur 3 repo:
447
+ - <project>-frontend (UI)
448
+ - <project>-backend (API + DB + ops scripts)
449
+ - <project>-shared (types)
450
+
451
+ Selama 6 minggu transisi:
452
+ - Repo lama TETAP active untuk hotfix
453
+ - Repo baru di-setup paralel
454
+ - Brief detail tanggal X
455
+
456
+ Tidak ada perubahan akses kalian sekarang. Akses baru setelah Week 5 brief.
457
+
458
+ Tanya kalau ada concern.
459
+
460
+ -- Owner
461
+ ```
462
+
463
+ Awareness-first, bukan mendadak. Sesuai feedback policy proyek.
464
+
465
+ ---
466
+
467
+ [MULAI EKSEKUSI: PASTE PROMPT INI KE CLAUDE CODE]
468
+
469
+ ---
470
+
471
+ Setelah saya analyze project kamu, saya akan present plan dengan format:
472
+ - Inventory project current (berapa file, where business logic, where UI)
473
+ - Mapping target (file mana ke repo mana)
474
+ - Tools recommended berdasarkan stack
475
+ - Timeline + effort estimate
476
+ - Risks + mitigations
477
+
478
+ Tanya saja kalau ada konteks tambahan owner mau saya tahu (misal: ada module legacy, ada constraint compliance, ada deadline rilis fitur, dst).
479
+
480
+ ---
481
+
482
+ **Versi prompt:** v1 (sync dengan lintasAI v1.0.0)
483
+ **Audience:** Owner project, NOT staff
484
+ **Estimated AI execution time:** 4-6 minggu (paralel dengan owner kerja normal)
485
+ **Reversibility:** Full rollback support sampai Week 5
@@ -0,0 +1,172 @@
1
+ # TEAM_ROLLOUT_GUIDE_v1.md — Cara Bikin Kit Ini Jadi Standar Tim
2
+ > v1 · 2026-05-30 · untuk pemimpin tim IT (3-10 orang)
3
+
4
+ ## Tujuan & Filosofi
5
+ Kit aturan AI ini jadi **sumber kebenaran tunggal** untuk gaya kerja AI-assisted di tim. Tujuan: konsisten lintas-anggota & lintas-proyek, perbaikan bertahap (bukan paksa rewrite), fokus pada workflow yang AI bisa enforce sendiri (DoD, docs, naming, commit). Standar ini **bukan alat control**, tapi **alat hemat energi** — biar tim gak debat ulang aturan yang sama tiap proyek.
6
+
7
+ ## Prasyarat tim
8
+ - Semua anggota punya **Claude Code** ter-install dan login Anthropic.
9
+ - Semua anggota pakai **Windows** (kit ini Windows-only).
10
+ - Satu **bahasa kerja** disepakati: **Bahasa Indonesia** (default kit ini).
11
+ - Ada **channel komunikasi** aktif (Slack/Discord/WhatsApp group `#it-standard` atau sejenisnya).
12
+ - Ada **1 owner standar** (mis. kamu) yang approve perubahan aturan.
13
+
14
+ ---
15
+
16
+ ## Step 1: Setup sumber kebenaran tunggal
17
+ **Rekomendasi:** Git repo private di GitHub/GitLab dengan tag versi. Contoh nama: `<orgmu>/claude-team-standard`.
18
+
19
+ Struktur folder repo:
20
+ ```
21
+ claude-team-standard/
22
+ ├── README.md ← onboarding teman/staff
23
+ ├── CLAUDE_universal_v1.md ← aturan utama
24
+ ├── PROJECT_LIFECYCLE_PROMPT_v1.md ← unified: Stage A Kickoff / B Bootstrap / C Update / D Migration
25
+ ├── TEAM_ROLLOUT_GUIDE_v1.md ← file ini, baca owner standar
26
+ ├── install-windows.ps1
27
+ ├── templates/
28
+ │ ├── architecture.md
29
+ │ └── glossary.md
30
+ ├── exceptions.md ← lihat "Exception management" di bawah
31
+ └── CHANGELOG.md ← log perubahan per versi
32
+ ```
33
+
34
+ Tag rilis: `v1`, `v1.1`, `v2`. Anggota tim clone/download per tag.
35
+
36
+ **JANGAN simpan di Google Drive folder bebas** — versi gampang nyasar, anggota gak tahu mana yang terbaru.
37
+
38
+ ## Step 2: Rilis v1 ke tim
39
+ Checklist owner standar:
40
+ 1. **Upload kit ke repo internal** + tag `v1.1` (atau versi saat ini).
41
+ 2. **Jadwalkan "install party" 30 menit** (live di Meet/Zoom): semua anggota install bareng, biar bisa tanya langsung kalau stuck.
42
+ 3. **Tiap anggota verifikasi** dengan brief Claude: *"Halo, aku staff baru. Tolong cek install kit + briefing aturan dasar."* AI auto-apply Guided Step-by-Step Workflow (CLAUDE_universal_v1.md section 4.3). Screenshot hasil verifikasi, share ke channel.
43
+ 4. **Owner cek-list** di channel: semua anggota ✅ → rollout sukses.
44
+ 5. **Update `CHANGELOG.md`** di repo: tanggal rilis, ringkasan apa yang baru.
45
+
46
+ ## Step 3: Adopsi per-proyek
47
+ Tiap proyek pilih 1 dari 3 jalur:
48
+
49
+ | Kondisi proyek | Pakai prompt |
50
+ |---|---|
51
+ | Proyek **BARU** dari nol | `PROJECT_LIFECYCLE_PROMPT_v1.md` (Stage A: Kickoff) — AI bikin struktur sesuai standar dari awal |
52
+ | Proyek **LAMA** tanpa `docs/` sama sekali | `PROJECT_LIFECYCLE_PROMPT_v1.md` (Stage B: Bootstrap Docs) — AI auto-fill docs/ dari codebase |
53
+ | Proyek **SETENGAH JADI** (ada code + mungkin docs + konvensi sendiri) | `PROJECT_LIFECYCLE_PROMPT_v1.md` (Stage D: Migration) — AI audit gap, bikin plan bertahap |
54
+
55
+ Filosofi adopsi di proyek setengah jadi: **bentrok OK, perbaikan bertahap**. Lihat detail di `PROJECT_LIFECYCLE_PROMPT_v1.md` (Stage D: Migration).
56
+
57
+ ## Step 4: Governance ringan
58
+ 5 keputusan owner standar:
59
+
60
+ 1. **Owner = kamu** (atau orang yang ditunjuk). Owner satu-satunya yang merge ke `main` di repo standar.
61
+ 2. **Versioning:**
62
+ - **Patch** (mis. `v1.1`): perubahan kecil non-breaking (typo fix, klarifikasi, tambah aturan opsional).
63
+ - **Minor** (mis. `v1.2`): tambah file/prompt baru, tambah seksi.
64
+ - **Major** (mis. `v2`): breaking — aturan lama ganti, struktur folder ubah. Wajib announce 1 minggu sebelum rilis.
65
+ 3. **Channel diskusi:** `#it-standard` (atau sejenisnya). Semua usulan + announce update lewat sini.
66
+ 4. **Format usulan perubahan aturan** (template di bawah). Anggota tim buka issue di repo, owner review + approve.
67
+ 5. **Cadence review:** akhir bulan — owner review usulan & exception, rilis update kalau ada.
68
+
69
+ ### Template usulan perubahan aturan
70
+ File baru di repo: `proposals/<tanggal>-<judul-singkat>.md`
71
+ ```markdown
72
+ # Usulan: <judul>
73
+ > Pengusul: <nama> · Tanggal: <YYYY-MM-DD>
74
+
75
+ ## Aturan yang diusulkan
76
+ <1-2 kalimat aturan baru atau perubahan>
77
+
78
+ ## Alasan
79
+ <kenapa perlu, masalah apa yang diselesaikan>
80
+
81
+ ## Dampak
82
+ - Proyek yang terdampak: <semua/sebagian/spesifik>
83
+ - Effort migrasi: <ringan/sedang/besar>
84
+ - Breaking? <ya/tidak — kalau ya, tier P0/P1/P2>
85
+
86
+ ## Alternatif yang dipertimbangkan
87
+ <alternatif yang ditolak + alasan>
88
+ ```
89
+
90
+ ## Step 5: Distribusi update
91
+ Saat owner rilis `v1.2`:
92
+ 1. **Tag rilis** di repo dengan changelog detail.
93
+ 2. **Announce di channel** — 1 paragraf: apa yang baru, dampak ke proyek existing, kapan deadline anggota update.
94
+ 3. **Anggota update** — `git pull` atau download zip, jalanin `install-windows.ps1` lagi (backup otomatis).
95
+ 4. **Ceklis di channel** — anggota react ✅ di pesan announce kalau sudah update.
96
+ 5. **Owner follow-up** anggota yang belum update setelah deadline.
97
+
98
+ ## Step 6: Tracking progres tim (metric ringan, BUKAN dashboard)
99
+ Update manual di Google Sheet `it-standard-progress`:
100
+
101
+ | Proyek | Owner | docs/architecture | docs/glossary | Conv Commits % | Quick Wins selesai |
102
+ |---|---|---|---|---|---|
103
+ | project-alpha | dev-1 | ✅ | ✅ | 90% | 4/4 |
104
+ | inventory-app | dev-2 | ✅ | ⚠️ | 60% | 2/4 |
105
+ | landing-page | dev-3 | ❌ | ❌ | 30% | 0/4 |
106
+
107
+ Target tim:
108
+ - **3 bulan:** 100% proyek punya `docs/architecture.md`.
109
+ - **2 bulan:** 80% PR ikut Conventional Commits.
110
+ - **Per quarter:** review proyek yang masih banyak gap, alokasi sprint khusus migrasi.
111
+
112
+ Review metric tiap akhir bulan (10 menit di standup).
113
+
114
+ ---
115
+
116
+ ## Exception management
117
+ Beberapa proyek pasti punya alasan kuat opt-out dari aturan tertentu. **Catat di `exceptions.md`** supaya gak jadi "norma diam-diam".
118
+
119
+ ### Template exception
120
+ File: `exceptions.md` di repo standar.
121
+ ```markdown
122
+ # Exception Log — Standar Tim IT
123
+
124
+ | Proyek | Aturan di-skip | Alasan | Sunset date | Pemberi izin | Reviewer |
125
+ |---|---|---|---|---|---|
126
+ | client-x-portal | Bahasa docs ID → EN | Klien minta EN | 2026-12-31 | owner | jane |
127
+ | legacy-erp | Conv Commits | Repo sudah 5 tahun pakai format bebas, migrasi P2 | TBD | owner | bob |
128
+ ```
129
+
130
+ Review tiap bulan: sunset date sudah lewat? Reviewer ganti? Alasan masih valid?
131
+
132
+ ---
133
+
134
+ ## Anti-pattern tim yang dihindari
135
+ - **Owner standar pegang semua, jadi bottleneck.** Tunjuk 1 deputy yang bisa approve usulan kecil.
136
+ - **Rilis update tanpa announce → ada yang tertinggal.** Selalu lewat channel + cek-list eksplisit.
137
+ - **Exception jadi norma karena gak pernah di-review.** Kalender bulanan untuk review `exceptions.md`.
138
+ - **Junior takut bertanya jadi pura-pura paham.** Owner: tanyain langsung di standup, biasakan budaya "gak paham itu wajar".
139
+ - **Standar dipakai jadi alat blame senior ke junior.** Owner tegur: kit ini untuk hemat energi, bukan untuk nyalahin. Code review fokus pada code, bukan ke orangnya.
140
+ - **"Senior gak ikut standar, jadi junior gak perlu juga."** Owner enforce di code review — pelanggaran standar di PR baru = revisi.
141
+
142
+ ---
143
+
144
+ ## FAQ tim
145
+
146
+ **Q: Aku gak setuju aturan X, gimana?**
147
+ A: Buka usulan di repo (template di Step 4). Owner review di akhir bulan. Sementara itu, tetap ikut aturan existing — debat di channel `#it-standard`, jangan diam-diam langgar.
148
+
149
+ **Q: Klien minta pakai standar mereka, harus gimana?**
150
+ A: Catat di `exceptions.md` dengan sunset date. Standar tim cuma berlaku untuk proyek internal/tim sendiri. Klien external = aturan klien menang.
151
+
152
+ **Q: Senior di proyek X gak ikut standar, aku junior bingung mau ikut yang mana.**
153
+ A: Lapor ke owner standar (kamu/atau channel). Owner yang tegur ke senior. Junior: tetap ikut standar, jangan ikut kebiasaan jelek.
154
+
155
+ **Q: Standar update v1.2 tapi proyek aku sudah running 6 bulan dengan v1, pusing harus migrasi semua?**
156
+ A: TIDAK perlu migrasi semua. Cuma item P0 (Quick Wins) yang wajib dalam 1 minggu. P1/P2 = bertahap. Detail di `PROJECT_LIFECYCLE_PROMPT_v1.md` (Stage D: Migration).
157
+
158
+ **Q: Aku onboard freelance/kontrak cuma 2 minggu, perlu install kit?**
159
+ A: Tergantung. Kalau cuma utak-atik 1-2 file, gak perlu — cukup brief verbal. Kalau full bagian tim 2+ minggu, install supaya output konsisten.
160
+
161
+ **Q: Aturan global vs aturan proyek (`./AGENTS.md`) — yang mana baca duluan?**
162
+ A: Dua-duanya. Aturan proyek **menimpa sebagian** aturan global untuk proyek itu. Mis. global bilang "format commit Conventional Commits", proyek bilang "kami pakai format bebas karena legacy" → di proyek itu, format bebas menang.
163
+
164
+ **Q: Aturan tim ini akan diapain kalau aku resign / pindah role?**
165
+ A: Owner harus tunjuk pengganti minimal 1 bulan sebelum keluar. Knowledge transfer: walk-through `TEAM_ROLLOUT_GUIDE_v1.md` + serah-terima approval di repo standar.
166
+
167
+ ---
168
+
169
+ ## Penutup
170
+ Standar bukan untuk control, tapi untuk **hemat energi tim** & **cegah salah-paham**. Anggota tim yang patuh standar → AI mereka konsisten → output proyek konsisten → onboarding anggota baru lebih cepat. Itu untungnya.
171
+
172
+ Kalau ada pertanyaan, ke channel `#it-standard`. Selamat ngeshipping bareng tim yang patuh standar!
@@ -0,0 +1,3 @@
1
+ # DEPRECATED (lintasAI v1.0.0 republish 2026-06-04)
2
+
3
+ -> Pakai [PROJECT_LIFECYCLE_PROMPT_v1.md](PROJECT_LIFECYCLE_PROMPT_v1.md), jump ke "Stage C: Update Docs"