@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,220 @@
1
+ # templates/MIGRATE_TO_SUBFOLDER_PROMPT_v1.md — Migrasi docs/ Flat → Subfolder
2
+
3
+ > Versi 1 · 2026-06-01
4
+ > Paste prompt ini saat docs/ sudah flat banyak (>= 20 file) dan mau restrukturisasi ke subfolder grouping.
5
+
6
+ ---
7
+
8
+ ## Kapan pakai prompt ini?
9
+
10
+ - ✅ `docs/` flat >= 20 file pendamping kode, navigasi mulai berat.
11
+ - ✅ Project punya struktur source yang clear domain (`src/lib/payment/`, `src/lib/auth/`, `src/app/api/<resource>/`) tapi docs masih flat.
12
+ - ✅ Mau pisahkan docs technical (`auth.md`, `prisma.md`) dari docs panduan tim (`CLAUDE_TEAM_GUIDE.md`, `PROMPT_LIBRARY.md`).
13
+
14
+ **JANGAN paste prompt ini kalau**:
15
+ - ❌ docs/ masih < 10 file (flat masih oke).
16
+ - ❌ Project tidak punya struktur source domain (semua file flat di src/).
17
+ - ❌ Belum siap commit migrasi (rename file = riwayat git penting).
18
+
19
+ ---
20
+
21
+ ## Untuk AI (mulai dari sini)
22
+
23
+ ### Peran
24
+ Kamu adalah **Documentation Refactor Specialist**. Tujuan: migrasi `docs/` dari flat → subfolder grouping tanpa break cross-reference + git history preserved.
25
+
26
+ ### Aturan kerja
27
+ - **Bahasa Indonesia**, junior-friendly.
28
+ - **Akurasi > speed**. Lebih baik 1 batch kecil + verify daripada bulk yang break links.
29
+ - **Pakai `git mv`** (bukan delete + create) supaya git history preserved.
30
+ - **Update SEMUA cross-reference** setelah move.
31
+ - **JANGAN touch file tim panduan** (`CLAUDE_TEAM_GUIDE.md`, `PROMPT_LIBRARY.md`, `ONBOARDING.md`, `STACK_GUIDE.md`, `MCP_SETUP.md`, `_PATTERNS.md`, `_EXAMPLE.md`, `architecture.md`, `glossary.md`, `architecture_auto.md`) — file ini stay di root docs/.
32
+
33
+ ### Workflow 5 fase
34
+
35
+ #### FASE 1 — Audit current state
36
+
37
+ 1. List semua `.md` di `docs/` root (skip subfolder existing kalau ada).
38
+ 2. Untuk tiap `.md`, identifikasi source code yang related (mis. `docs/auth.md` ↔ `src/lib/auth.ts` ↔ `src/app/api/auth/...`).
39
+ 3. Buat tabel ASCII:
40
+
41
+ ```
42
+ | docs/ file | Related source | Suggested subfolder |
43
+ |--------------------------|------------------------|---------------------|
44
+ | auth.md | src/lib/auth.ts | security/ |
45
+ | prisma.md | src/lib/prisma.ts | lib/ |
46
+ | encryption.md | src/lib/encryption.ts | security/ |
47
+ | permissions.md | src/lib/permissions.ts | security/ |
48
+ | rate-limit.md | src/lib/rate-limit.ts | security/ |
49
+ | middleware.md | src/middleware.ts | (keep at root) |
50
+ | api-auth-nextauth.md | src/app/api/auth/... | api/auth/ |
51
+ | api-security.md | src/app/api/security/.. | api/security/ |
52
+ | api-vault.md | src/app/api/vault/... | api/vault/ |
53
+ | ... | ... | ... |
54
+ ```
55
+
56
+ #### FASE 2 — Tampilkan ke user + konfirmasi
57
+
58
+ ```
59
+ [Migrasi docs/ flat → subfolder]
60
+
61
+ Total docs/ flat: <N> file
62
+ Suggested grouping:
63
+ - docs/security/ — <X> file (auth, encryption, permissions, rate-limit)
64
+ - docs/lib/ — <Y> file (prisma, geo, cache, ...)
65
+ - docs/api/ — <Z> file (api routes, group by resource)
66
+ - docs/features/ — <W> file (per feature folder source)
67
+ - root docs/ — <K> file tim panduan (preserve)
68
+
69
+ Total move operations: <M>
70
+ Cross-reference updates needed: <C> lines across <F> files
71
+
72
+ Lanjut migrasi? (y/n)
73
+ y / Enter → mulai (per kategori, dengan verify per batch)
74
+ n → batalkan
75
+ ```
76
+
77
+ Auto-confirm: kalau user kosong / Enter → "y" (default auto-confirm).
78
+
79
+ #### FASE 3 — Migrasi per kategori (batch)
80
+
81
+ Ulangi per kategori (security, lib, api, features):
82
+
83
+ 1. **Buat subfolder** kalau belum ada:
84
+ ```bash
85
+ mkdir -p docs/security
86
+ mkdir -p docs/api/auth docs/api/vault # dst per resource
87
+ ```
88
+
89
+ 2. **Move file** dengan `git mv`:
90
+ ```bash
91
+ git mv docs/auth.md docs/security/auth.md
92
+ git mv docs/encryption.md docs/security/encryption.md
93
+ # dst
94
+ ```
95
+
96
+ 3. **Update cross-reference**:
97
+ - Baca tiap `.md` di docs/ tree (termasuk yang baru di-move).
98
+ - Cari pattern `[text](relative-path.md)` atau `[[basename]]` link.
99
+ - Update path relatif sesuai lokasi baru:
100
+ - Dari root → subfolder: `[auth.md](auth.md)` → `[auth.md](security/auth.md)`.
101
+ - Antar subfolder: `[auth.md](security/auth.md)` → `[auth.md](../security/auth.md)`.
102
+ - Dari subfolder → root: `[architecture.md](architecture.md)` → `[architecture.md](../architecture.md)`.
103
+
104
+ 4. **Verify batch**: list file di subfolder + cek cross-ref tidak broken.
105
+
106
+ 5. **Lanjut batch berikutnya** atau pause kalau user request.
107
+
108
+ #### FASE 4 — Update architecture_auto.md
109
+
110
+ Setelah semua migrasi selesai:
111
+
112
+ 1. Re-generate `docs/architecture_auto.md` dengan struktur baru:
113
+
114
+ ```markdown
115
+ # docs/architecture_auto.md — Registry semua file .md pendamping (TOC)
116
+
117
+ > Auto-maintained oleh AI
118
+
119
+ ## Top-level (file tim panduan, preserve)
120
+ - [architecture.md](architecture.md) — peta makro proyek
121
+ - [glossary.md](glossary.md) — kamus istilah
122
+ - [_PATTERNS.md](_PATTERNS.md) — aturan dokumentasi tim
123
+ - [_EXAMPLE.md](_EXAMPLE.md) — contoh format
124
+ - [CLAUDE_TEAM_GUIDE.md](CLAUDE_TEAM_GUIDE.md) — panduan tim
125
+ - [PROMPT_LIBRARY.md](PROMPT_LIBRARY.md) — 10 prompt siap-pakai
126
+ - [ONBOARDING.md](ONBOARDING.md) — playbook dev baru
127
+ - [STACK_GUIDE.md](STACK_GUIDE.md) — stack guide
128
+ - [MCP_SETUP.md](MCP_SETUP.md) — MCP setup
129
+ - [RLS_SETUP_PROMPT.md](RLS_SETUP_PROMPT.md) — RLS prompt
130
+ - [DB_SCHEMA_SCAN_PROMPT.md](DB_SCHEMA_SCAN_PROMPT.md) — schema scan prompt
131
+ - [db-schema.md](db-schema.md) — DB schema (kalau ada)
132
+
133
+ ## Security (docs/security/)
134
+ - [security/auth.md](security/auth.md) — NextAuth credentials + session
135
+ - [security/encryption.md](security/encryption.md) — AES-256-GCM vault
136
+ - [security/permissions.md](security/permissions.md) — RBAC matrix
137
+ - [security/rate-limit.md](security/rate-limit.md) — sliding-window limiter
138
+
139
+ ## Library (docs/lib/)
140
+ - [lib/prisma.md](lib/prisma.md) — Prisma client singleton
141
+ - ...
142
+
143
+ ## API routes (docs/api/)
144
+ ### Auth
145
+ - [api/auth/nextauth.md](api/auth/nextauth.md) — NextAuth handler mount
146
+ - [api/auth/captcha.md](api/auth/captcha.md) — captcha endpoint
147
+ ...
148
+
149
+ ### Vault
150
+ - [api/vault/index.md](api/vault/index.md) — GET/POST vault
151
+ - [api/vault/reveal.md](api/vault/reveal.md) — decrypt password
152
+ ...
153
+
154
+ ## Features (docs/features/)
155
+ [Per feature folder kalau ada]
156
+
157
+ ## ADR (docs/decisions/)
158
+ [Auto-link ADR files]
159
+
160
+ ## Riwayat migrasi
161
+ | Tanggal | Aksi | Catatan |
162
+ |---|---|---|
163
+ | 2026-06-01 | Migrate flat -> subfolder | Total <N> file di-restructure |
164
+ ```
165
+
166
+ #### FASE 5 — Commit + verify
167
+
168
+ 1. **Commit** dengan message jelas:
169
+ ```bash
170
+ git add -A
171
+ git commit -m "refactor(docs): migrate flat to subfolder grouping (security/, lib/, api/, features/)"
172
+ ```
173
+
174
+ 2. **Verify**:
175
+ - Klik random 5 cross-ref di markdown editor — semua link work.
176
+ - Cek `docs/architecture_auto.md` — entry up-to-date.
177
+ - Test render markdown di GitHub / IDE preview.
178
+
179
+ 3. **Lapor ke user**:
180
+ ```
181
+ ✅ Migrasi selesai
182
+ - Total file di-move: <N>
183
+ - Subfolder dibuat: <K> (security/, lib/, api/, features/)
184
+ - Cross-reference di-update: <C> baris di <F> file
185
+ - Commit: <hash>
186
+
187
+ Verifikasi: docs/architecture_auto.md sudah refresh dengan struktur baru.
188
+ ```
189
+
190
+ ---
191
+
192
+ ## Aturan SETELAH migrasi
193
+
194
+ - **LAZY-GENERATE 7.2b** aktif: docs baru otomatis ke subfolder yang relevan (kalau folder source punya >= 3 file CRITICAL).
195
+ - **AUTO-SYNC 7.1**: tiap edit code yang ada `.md` pendamping di subfolder, AI WAJIB update `.md` di lokasi yang benar (bukan root).
196
+ - **READ-MINIMAL 7.3**: AI baca `architecture_auto.md` dulu → tahu struktur subfolder → cherry-pick relevant.
197
+
198
+ ---
199
+
200
+ ## Troubleshooting
201
+
202
+ ### Broken link setelah migrasi
203
+ - Cek output `git diff` cross-reference — ada path yang ke-skip update?
204
+ - Run grep: `grep -r "\[.*\](.*\.md)" docs/` → cari path yang tidak match file actual.
205
+
206
+ ### Conflict antar-domain
207
+ - File `payment.md` related ke `src/lib/payment/` (lib) ATAU `src/app/api/payment/` (api)?
208
+ - Solusi: pisah jadi 2 file (`docs/lib/payment.md` + `docs/api/payment.md`) dengan cross-link.
209
+ - Atau pakai folder paling spesifik (`docs/payment/` containing both `lib.md` + `api.md`).
210
+
211
+ ### Git history rusak setelah `git mv`
212
+ - Pastikan pakai `git mv`, BUKAN delete + create.
213
+ - Cek dengan `git log --follow docs/security/auth.md` — history harus tetap visible.
214
+
215
+ ---
216
+
217
+ ## Referensi
218
+ - Aturan 7.2b Folder auto-detect grouping: `./.claude-kit/CLAUDE_universal_v1.md` seksi 7.2b
219
+ - Aturan 7.4 ARCHITECTURE REGISTRY format: seksi 7.4
220
+ - Bootstrap workflow: `./.claude-kit/PROJECT_LIFECYCLE_PROMPT_v1.md` (Stage B: Bootstrap Docs)
@@ -0,0 +1,172 @@
1
+ # ONBOARDING.md — Timeline Day 0–14 untuk Dev Baru Hire
2
+
3
+ > Versi 2 · 2026-06-03
4
+ > File ini adalah **checklist linier 14 hari**. Detail workflow, branching, escalation ada di `CLAUDE_TEAM_GUIDE.md` — jangan duplikat di sini.
5
+
6
+ ---
7
+
8
+ ## Sebelum Mulai
9
+
10
+ Kamu baru bergabung dengan tim AI-first. Tim ini coding 100% lewat Claude Code — tidak masalah kalau kamu bukan programmer formal. Yang penting: **bisa kasih konteks ke AI dengan jelas** dan **bisa baca code untuk verifikasi**.
11
+
12
+ Centang `[x]` di file lokal kamu (jangan commit) sebagai progress tracker pribadi. Ikuti urutan, jangan loncat fase.
13
+
14
+ > **Pointer wajib**: detail workflow harian → `CLAUDE_TEAM_GUIDE.md` §4. Branching → §5. Escalation (kapan tanya siapa) → §13. Anti-pattern → §12 (yang me-link ke `docs/GLOSSARY_NON_PROGRAMMER.md` §8). Rollback playbook → §13b.
15
+
16
+ ---
17
+
18
+ ## BACA DULU (2 File Wajib, ~20 menit)
19
+
20
+ ### 1. Glossary Istilah Teknis (~15 menit)
21
+ Buka **`docs/GLOSSARY_NON_PROGRAMMER.md`** — peta istilah teknis dengan analogi sehari-hari (mis. "PR = lapor ke atasan untuk review"). Scroll sampai habis, **tidak perlu hafal** — bookmark, balik baca tiap ketemu istilah asing.
22
+
23
+ ### 2. Security Incident Playbook (~5 menit)
24
+ Buka **`docs/SECURITY_INCIDENT_PLAYBOOK.md`** — step-by-step kalau detect **token bocor**, **secret leak**, atau **security alert**. **Print checklist akhirnya, tempel di laptop.** Saat panik, baca checklist > improvise.
25
+
26
+ **Signal trigger playbook**: email "Secret detected" dari GitHub, AI Reviewer comment "Possible token leak", email usage spike, file `.env.local` muncul di `git status`.
27
+
28
+ ---
29
+
30
+ ## Day 0 — Setup tools & akses (3–5 jam)
31
+
32
+ **Baseline**: Windows 10/11 / macOS 12+ / Ubuntu 22+, RAM ≥8GB (16GB recommended), disk ≥10GB kosong. Spec di bawah ini → lapor owner dulu.
33
+
34
+ - [ ] Install **Claude Code** (https://docs.claude.com)
35
+ - [ ] Install **Git**, tes: `git --version`
36
+ - [ ] Install **Node.js LTS** (20+), tes: `node --version`
37
+ - [ ] Install **pnpm** (`npm install -g pnpm`)
38
+ - [ ] Install **GitHub CLI** (`gh`), login: `gh auth login`
39
+ - [ ] Install **VS Code** (optional: extension Claude Code)
40
+ - [ ] Dapat **akses repo proyek** dari owner (GitHub org invitation)
41
+ - [ ] Dapat **akses channel tim** (Slack/Discord/Telegram), perkenalan singkat
42
+ - [ ] Dapat **akses tools tim** sesuai role (Vercel, Supabase, dll)
43
+ - [ ] **Clone repo**: `git clone <URL>` ke `~/projects/<nama>`
44
+ - [ ] Baca **`README.md`** proyek, cari section setup
45
+ - [ ] **Install dependencies**: `pnpm install`
46
+ - [ ] **Copy `.env.example` → `.env.local`**, minta nilai env dari owner/senior via **DM** (JANGAN channel publik)
47
+ - [ ] **Generate Prisma client** (kalau proyek pakai Prisma): brief Claude `Tolong jalankan npx prisma generate`. Tanpa ini, dev server crash. Skip kalau tidak pakai Prisma (cek `package.json`)
48
+ - [ ] **Jalankan dev server**: `pnpm dev`, buka `localhost:3000`, pastikan load
49
+ - [ ] Buka Claude Code: `claude` di terminal folder proyek
50
+ - [ ] Paste **`JALANKAN_KIT.md`** ke Claude (file di `./.claude-kit/JALANKAN_KIT.md`)
51
+ - [ ] **Verifikasi**: tanya Claude "baca `docs/architecture.md` dan jelaskan proyek ini dalam 5 kalimat". Jawaban masuk akal → setup OK
52
+
53
+ **Stuck?** Tools install → Claude Code (sesi terpisah). Akses repo/dashboard → DM owner. Env vars → DM senior dev. Lihat `CLAUDE_TEAM_GUIDE.md` §13.
54
+
55
+ ---
56
+
57
+ ## Day 1 — Baca dokumentasi (30–60 menit, bisa 2 sesi)
58
+
59
+ **Urutan baca**:
60
+ - [ ] **`./.claude-kit/CLAUDE_universal_v1.md`** — aturan global tim (WAJIB)
61
+ - [ ] **`AGENTS.md`** proyek (root) — override khusus proyek
62
+ - [ ] **`docs/architecture.md`** — peta makro proyek (WAJIB)
63
+ - [ ] **`docs/glossary.md`** — kamus istilah khusus proyek
64
+ - [ ] **`docs/_PATTERNS.md`** — cara tim nulis docs
65
+ - [ ] **`docs/_EXAMPLE.md`** — contoh konkret `.md` siap-pakai
66
+ - [ ] **`docs/CLAUDE_TEAM_GUIDE.md`** — panduan kerja tim (WAJIB)
67
+ - [ ] **`docs/PROMPT_LIBRARY.md`** — skim dulu, detail pas butuh
68
+ - [ ] **`docs/STACK_GUIDE.md`** (kalau ada)
69
+ - [ ] **`docs/MCP_SETUP.md`** (kalau ada)
70
+
71
+ **Cara baca yang benar**: jangan skim, tanya Claude kalau tidak paham ("jelaskan dengan analogi"), bikin mind map sendiri, verifikasi pemahaman (minta Claude quiz 5 pertanyaan).
72
+
73
+ **Output Day 1**:
74
+ - [ ] 1 halaman ringkasan proyek dengan kata-kata kamu sendiri
75
+ - [ ] List 5 istilah baru
76
+ - [ ] List 3 pertanyaan untuk teammate
77
+
78
+ ---
79
+
80
+ ## Day 1–2 — First PR (good first issue)
81
+
82
+ Goal: PR pertama merged. **Tujuan utama bukan output, tapi paham workflow end-to-end.**
83
+
84
+ - [ ] Owner/senior assign micro-task via channel chat (typo fix, copy update, dependency bump, styling minor)
85
+ - [ ] **Pair dengan senior** di Slack/Discord. Jangan sungkan tanya
86
+ - [ ] Baca task, pastikan paham acceptance criteria
87
+ - [ ] **Ikuti workflow standar**: lihat `CLAUDE_TEAM_GUIDE.md` §4 (1 task = 1 sesi) + §5 (branching: `git checkout -b fix/<desc>` → commit → PR)
88
+ - [ ] Pakai **Prompt 2** dari `PROMPT_LIBRARY.md` (Fix bug) atau **Prompt 1** (Tambah fitur)
89
+ - [ ] **JANGAN auto-accept** — baca tiap perubahan
90
+ - [ ] Update `docs/<modul>.md` kalau berubah perilaku publik
91
+ - [ ] Test lokal sebelum push
92
+ - [ ] Request review dari senior pair
93
+ - [ ] Apply revisions sampai approve + CI hijau → merged
94
+ - [ ] **Refleksi**: tulis 3 hal yang dipelajari di catatan pribadi
95
+
96
+ **Gagal merge dalam 2 hari?** Tanya senior: "apakah task ini kebesaran?". Pecah sub-task atau ganti task.
97
+
98
+ ---
99
+
100
+ ## Day 3–7 — Independent task dengan pair review
101
+
102
+ Goal: kerja mandiri, tapi tiap PR tetap di-review senior.
103
+
104
+ - [ ] Ambil 2–4 task size **S–M** (1–2 hari per task). Hindari L/XL dulu
105
+ - [ ] Tiap task: **sesi Claude baru, fresh context** (aturan emas `CLAUDE_TEAM_GUIDE.md` §4)
106
+ - [ ] Pakai `PROMPT_LIBRARY.md` sesuai jenis task
107
+ - [ ] **Branch max 3 hari hidup** (§5). Lebih = diskusi dengan senior
108
+ - [ ] Tiap PR: senior review min 1 orang + kamu review min 1 PR teman (Prompt 5)
109
+ - [ ] Update `docs/` setiap PR yang ubah behavior publik
110
+ - [ ] **Daily check-in** di channel tim: "kemarin X, hari ini Y, blocker Z"
111
+
112
+ **Kebiasaan yang dibangun**: test lokal sebelum push, cek Vercel preview sebelum request review, tulis PR description jelas (konteks, perubahan, screenshot, cara test), self-review diff sendiri sebelum minta orang lain.
113
+
114
+ **Red flags wajib tangkap**:
115
+ - AI import library baru tanpa kamu minta → stop, tanya senior
116
+ - PR diff > 500 baris → task kebesaran, pecah
117
+ - CI merah > 30 menit tidak fix → minta tolong
118
+
119
+ ---
120
+
121
+ ## Day 7–14 — Full ownership 1 modul
122
+
123
+ Goal: kamu jadi **DRI** (Directly Responsible Individual) untuk 1 modul kecil. Owner & senior step back.
124
+
125
+ - [ ] Owner assign **1 modul kecil** (mis. `features/notifications/`)
126
+ - [ ] Kamu jadi **first responder** untuk bug modul itu
127
+ - [ ] Kamu yang **review PR teman** yang sentuh modul itu (Prompt 5)
128
+ - [ ] Kamu yang **update `docs/<modul>.md`** sesuai realita
129
+
130
+ **Tanggung jawab**:
131
+ - [ ] **Health check modul** — code & docs sinkron, fix kalau drift
132
+ - [ ] **Backlog kecil** — 3–5 improvement ide, share ke channel
133
+ - [ ] **Eksekusi 1–2 improvement** sebagai PR sendiri
134
+ - [ ] **Buat ADR** kalau ada keputusan desain non-trivial (Prompt 10)
135
+
136
+ **Blocker > 1 hari?** Escalate ke senior dengan konteks lengkap (yang sudah dicoba, output AI, error message). Detail kapan tanya siapa: `CLAUDE_TEAM_GUIDE.md` §13. Jangan diam karena malu — 1 hari stuck = 1 hari yang bisa di-unblock 15 menit.
137
+
138
+ **Output Day 14**:
139
+ - [ ] Modul **jalan + docs lengkap**
140
+ - [ ] Min. **5 PR merged** total selama 14 hari
141
+ - [ ] Min. **5 PR teman di-review**
142
+ - [ ] **Self-assessment**: 1 halaman "3 hal lancar, 3 hal sulit, 1 hal mau dipelajari bulan depan", share ke owner
143
+
144
+ ---
145
+
146
+ ## Day 15+ — Mode normal + quarterly review
147
+
148
+ - **Daily**: check-in tim, kerjain task, review PR teman
149
+ - **Weekly**: 1–2 PR merged, 2–3 PR teman di-review
150
+ - **Monthly**: cek `docs/architecture.md` modul kamu masih akurat? Update kalau drift
151
+ - **Quarterly**: ikut kit review session (`CLAUDE_TEAM_GUIDE.md` §14). PR ke kit `lintasAI` minimal 1x per kuartal
152
+
153
+ ---
154
+
155
+ ## Tips emas untuk dev baru hire AI-first
156
+
157
+ 1. **Jangan malu tidak tahu**. Tim hire kamu tahu kamu bukan programmer berpengalaman. Bertanya = sehat.
158
+ 2. **Jangan terlalu bergantung AI**. AI bisa salah. Kamu yang verifikasi, kamu yang accountable.
159
+ 3. **Baca diff sendiri sebelum push**. Wajib. Tidak ada alasan.
160
+ 4. **Konteks > kecepatan**. PR lambat bersih > PR cepat kotor.
161
+ 5. **Update docs adalah deliverable**. Bukan opsional.
162
+ 6. **2 minggu pertama itu lambat — normal**. Jangan banding-bandingin sama senior 2 tahun.
163
+
164
+ > Anti-pattern detail (vibe code accept, mega prompt, skip docs, branch panjang umur, dll): `docs/GLOSSARY_NON_PROGRAMMER.md` §8.
165
+
166
+ ---
167
+
168
+ ## Penutup
169
+
170
+ Selamat datang di tim. 14 hari pertama adalah fondasi — kalau pondasi kuat, sisanya smooth. Kalau ada bagian playbook ini yang kamu rasa salah/missing/outdated — PR ke `lintasAI`.
171
+
172
+ Good luck. Slow is smooth, smooth is fast.
@@ -0,0 +1,264 @@
1
+ # Project Stack Starter Templates - lintasAI
2
+
3
+ > Pre-built project boilerplate untuk start project BARU dengan lintasAI embedded.
4
+ > Audience: Owner yang mau bikin project baru (selain project current).
5
+ > Default Recommendation: project setengah jadi (mature) JANGAN pakai starter, langsung adapt lintasAI.
6
+
7
+ ---
8
+
9
+ ## Filosofi
10
+
11
+ Starter template = jumpstart project baru. SKIP setup awal 1-2 hari, langsung punya:
12
+
13
+ - Stack dasar terpasang (Next.js, Prisma, Supabase, dst)
14
+ - lintasAI v1.0.0 embedded di `.claude-kit/`
15
+ - Tier scope skeleton ready
16
+ - Discord webhook template
17
+ - Pre-commit hooks configured
18
+ - Sample auth flow + dashboard layout
19
+
20
+ Analogi: kayak beli rumah dengan furniture lengkap. Tinggal masuk, tata barang sendiri. Lebih cepat dari beli rumah kosong + furniture satu-satu.
21
+
22
+ Filosofi inti: starter template TIDAK pernah bawa logika bisnis. Cuma struktur + commodity code (auth, layout, validation). Owner tinggal isi bisnis di atas pondasi yang sudah siap.
23
+
24
+ ---
25
+
26
+ ## DEFAULT RECOMMENDATION
27
+
28
+ PERHATIAN: Untuk user yang sudah punya project setengah jadi, **SKIP starter template, langsung adapt lintasAI**.
29
+
30
+ Kenapa?
31
+
32
+ - Project setengah jadi sudah ada struktur sendiri (folder layout, konvensi naming, tooling)
33
+ - Apply starter template = harus refactor existing code biar match struktur starter
34
+ - Effort migrate >>> effort adapt
35
+ - Risiko regression tinggi (kode lama bisa break karena struktur baru)
36
+
37
+ Pakai starter cuma kalau:
38
+
39
+ - Project benar-benar baru (fresh, belum ada code)
40
+ - Mau setup ke-2 (project baru selain yang sekarang)
41
+ - Spin-off / new product line dari project existing
42
+ - Eksperimen / proof-of-concept yang nantinya bisa dibuang
43
+
44
+ Kalau ragu: tanya diri sendiri "kalau saya buang struktur project sekarang dan pakai starter, berapa file yang harus saya rewrite?" Kalau > 30% file, JANGAN pakai starter.
45
+
46
+ ---
47
+
48
+ ## Available Templates
49
+
50
+ ### Template 1: lintasai-starter-nextjs-prisma-supabase
51
+
52
+ Status: Recommended untuk SaaS dengan database
53
+
54
+ Stack:
55
+
56
+ - Next.js (lihat STACK_VERSIONS.md untuk versi terbaru) (App Router + Server Action)
57
+ - Prisma (lihat STACK_VERSIONS.md untuk versi terbaru) ORM
58
+ - Supabase PostgreSQL
59
+ - NextAuth v4 (Credentials + OAuth)
60
+ - Tailwind v4 + Shadcn UI
61
+ - TypeScript strict
62
+ - lintasAI v1.0.0 embedded
63
+
64
+ What's included:
65
+
66
+ - Sample auth flow: register, login, password reset
67
+ - Sample dashboard layout (sidebar + topbar)
68
+ - Sample protected route
69
+ - Sample API route dengan validation
70
+ - Sample Prisma schema (User, Account, Session, VerificationToken)
71
+ - Sample migration
72
+ - Pre-commit hook (lint + typecheck)
73
+ - Discord webhook template untuk notif deploy
74
+ - `.env.example` lengkap dengan komentar
75
+
76
+ Setup time: ~30 menit dari clone sampai `npm run dev` jalan
77
+
78
+ Cara pakai:
79
+
80
+ ```bash
81
+ git clone https://github.com/ojokesusu/lintasai-starter-nextjs-prisma-supabase my-new-app
82
+ cd my-new-app
83
+ npm install
84
+ cp .env.example .env.local
85
+ # Edit .env.local: isi DATABASE_URL, NEXTAUTH_SECRET, dst
86
+ npm run dev
87
+ ```
88
+
89
+ ### Template 2: lintasai-starter-nextjs-shadcn-tailwind
90
+
91
+ Status: Recommended untuk UI-focused project
92
+
93
+ Stack:
94
+
95
+ - Next.js (lihat STACK_VERSIONS.md untuk versi terbaru) (no Prisma, no DB)
96
+ - Shadcn UI + Tailwind v4
97
+ - Component library starter (50+ pre-built component)
98
+ - Storybook configured
99
+ - Playwright E2E configured
100
+ - TypeScript strict
101
+ - lintasAI v1.0.0 embedded
102
+
103
+ Best untuk:
104
+
105
+ - Landing page builder
106
+ - Component library demo
107
+ - Static site dengan dashboard
108
+ - No backend project
109
+ - Marketing site dengan CMS headless
110
+
111
+ Setup time: ~15 menit (no DB = lebih cepat)
112
+
113
+ ### Template 3: lintasai-starter-monorepo-turborepo
114
+
115
+ Status: Recommended untuk team 5+ yang mau monorepo dari awal
116
+
117
+ Stack:
118
+
119
+ - Turborepo workspaces
120
+ - `apps/web` (Next.js)
121
+ - `apps/api` (Hono atau Next.js API mode)
122
+ - `packages/ui` (shared components)
123
+ - `packages/shared` (types)
124
+ - `packages/tools` (scripts)
125
+ - Discord webhook integration
126
+ - CODEOWNERS skeleton
127
+ - lintasAI v1.0.0 embedded di root
128
+
129
+ Best untuk:
130
+
131
+ - Team yang mau split repo dari awal (skip migration nanti)
132
+ - Confident dengan monorepo tooling
133
+ - Multi-app product (web + mobile + admin)
134
+
135
+ Setup time: ~45 menit (lebih banyak konfigurasi workspace)
136
+
137
+ ### Template 4: lintasai-starter-mobile-expo
138
+
139
+ Status: Future (belum tersedia, target Q3 2026)
140
+
141
+ Stack:
142
+
143
+ - React Native + Expo
144
+ - React Query
145
+ - AsyncStorage
146
+ - Push notifications setup
147
+ - lintasAI v1.0.0 embedded
148
+
149
+ ---
150
+
151
+ ## How to Use Template
152
+
153
+ ### Skenario A: Bikin Project Baru (Fresh)
154
+
155
+ ```bash
156
+ # Step 1: Clone template
157
+ git clone https://github.com/ojokesusu/lintasai-starter-<NAME> <project-baru>
158
+ cd <project-baru>
159
+
160
+ # Step 2: Reset git history (mulai bersih, bukan fork)
161
+ rm -rf .git
162
+ git init
163
+ git add .
164
+ git commit -m "initial commit from lintasai-starter-<NAME>"
165
+
166
+ # Step 3: Bikin repo baru di GitHub
167
+ gh repo create ojokesusu/<project-baru> --private --source=. --remote=origin --push
168
+
169
+ # Step 4: Setup env
170
+ cp .env.example .env.local
171
+ # Edit .env.local: isi DATABASE_URL, NEXTAUTH_SECRET, API keys
172
+
173
+ # Step 5: Install + dev
174
+ npm install
175
+ npm run dev
176
+
177
+ # Step 6: Pakai lintasAI workflow
178
+ # Buka .claude-kit/JALANKAN_KIT.md, paste ke Claude Code
179
+ ```
180
+
181
+ ### Skenario B: Project Sudah Ada (Setengah Jadi)
182
+
183
+ JANGAN pakai starter template. Langsung adapt lintasAI:
184
+
185
+ ```bash
186
+ cd <existing-project>
187
+ git clone https://github.com/ojokesusu/lintasAI.git .claude-kit
188
+ .claude-kit/setup-pola-b.ps1
189
+ ```
190
+
191
+ LintasAI akan auto-detect stack (via `STACK_DETECTION_PATTERN.md`) dan customize setup berdasarkan project existing.
192
+
193
+ ---
194
+
195
+ ## Maintenance Starter Templates
196
+
197
+ Owner (lintasAI maintainer) update template tiap kit version baru:
198
+
199
+ 1. Update template repo dengan kit baru (`.claude-kit/` refresh)
200
+ 2. Update sample code kalau ada API change (Next.js bump, Prisma bump, dst)
201
+ 3. Test fresh clone -> jalan tanpa error
202
+ 4. Tag template repo dengan version (`v1.0.0`, `v1.1.0`, dst)
203
+ 5. Update CHANGELOG di tiap template repo
204
+
205
+ User yang sudah clone template TIDAK otomatis update. Mereka manual sync `.claude-kit/` via:
206
+
207
+ ```bash
208
+ .claude-kit/kit.ps1 update
209
+ ```
210
+
211
+ Sample code (auth flow, dashboard, dst) TIDAK auto-sync. User cherry-pick manual kalau mau adopt pattern baru.
212
+
213
+ ---
214
+
215
+ ## Roadmap
216
+
217
+ Template yang akan dirilis nanti:
218
+
219
+ - Mobile app (React Native + Expo) - Q3 2026
220
+ - AI chatbot (Vercel AI SDK + streaming) - Q4 2026
221
+ - E-commerce (Next.js + Stripe + Inventory) - Q4 2026
222
+ - SaaS dashboard (multi-tenant + billing) - Q1 2027
223
+ - Internal tool (Next.js + drag-drop form builder) - TBD
224
+
225
+ User feedback welcome untuk request template baru. Submit issue di repo `ojokesusu/lintasAI` dengan label `starter-template-request`.
226
+
227
+ ---
228
+
229
+ ## FAQ
230
+
231
+ **Q: Bisa pakai starter buat project yang sudah ada?**
232
+ A: Tidak recommended. Refactor existing > 80% kode = lebih effort dari mulai fresh. Pakai adapt lintasAI saja (Skenario B).
233
+
234
+ **Q: Starter punya algoritma rahasia?**
235
+ A: TIDAK. Starter = struktur + commodity code (auth flow, layout, validation). Tidak ada IP proprietary. Logika bisnis = owner isi sendiri.
236
+
237
+ **Q: Bisa fork starter + customize?**
238
+ A: BISA. Lisensi: MIT (free use, modify, redistribute). Fork, ganti nama, jual, terserah.
239
+
240
+ **Q: Berapa cost pakai starter?**
241
+ A: $0. Starter = repo template gratis. Cost cuma untuk hosting (Vercel, Supabase, dst) yang sama saja kalau bikin dari nol.
242
+
243
+ **Q: Starter update tiap berapa lama?**
244
+ A: Mengikuti release lintasAI kit (rata-rata 2-4 minggu) + bump major framework (Next.js, Prisma).
245
+
246
+ **Q: Kalau Next.js major version baru keluar (lihat STACK_VERSIONS.md), starter auto-upgrade?**
247
+ A: Tidak otomatis. Owner test dulu di staging, baru release versi baru starter dengan tag `v2.0.0`.
248
+
249
+ **Q: Bisa kombinasi 2 starter?**
250
+ A: Tidak praktis. Pilih satu yang paling dekat ke kebutuhan, lalu adapt manual.
251
+
252
+ **Q: Starter cocok buat hackathon?**
253
+ A: SANGAT cocok. Template 1 (Next.js + Prisma + Supabase) bisa hemat 1-2 hari setup di hackathon 48 jam.
254
+
255
+ ---
256
+
257
+ ## Catatan Tambahan
258
+
259
+ - Semua starter pakai TypeScript strict mode (no `any` allowed)
260
+ - Semua starter ada `.editorconfig` + `.prettierrc` konsisten
261
+ - Semua starter ada GitHub Actions skeleton (lint, typecheck, test)
262
+ - Semua starter embed `.claude-kit/` di root, ready pakai workflow lintasAI
263
+
264
+ Untuk owner solo (kayak user current): starter template = nice-to-have, bukan must. Adapt lintasAI ke project existing biasanya cukup.