@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
package/README.md ADDED
@@ -0,0 +1,505 @@
1
+ # README — Kit Aturan AI Kerja Profesional
2
+ > · 2026-06-01 · Windows-only · standar tim IT · **Team Mode default** + Senior AI Reviewer + Schema Isolation + 8 file panduan tim
3
+ > [Changelog](CHANGELOG.md) · [Contributing](CONTRIBUTING.md) · [License: MIT](LICENSE)
4
+ > Repo: [github.com/ojokesusu/lintasAI](https://github.com/ojokesusu/lintasAI) (private)
5
+
6
+ ## Struktur paket
7
+ ```
8
+ claude-ai-rules-kit/
9
+ ├── README.md ← kamu baca ini sekarang
10
+ ├── CHANGELOG.md ← log perubahan per versi
11
+ ├── CONTRIBUTING.md ← panduan usul perubahan aturan
12
+ ├── LICENSE ← MIT (bebas pakai/modif/distribusi)
13
+ ├── CLAUDE_universal_v1.md ← aturan utama (auto-load tiap sesi, Pola A)
14
+ ├── PROJECT_LIFECYCLE_PROMPT_v1.md ← prompt 4-stage (Kickoff / Bootstrap / Update Docs / Migration) — AI auto-route
15
+ ├── UPDATE_KIT_PROMPT_v1.md ← prompt update kit ke versi baru (AI auto-classify tier)
16
+ ├── AUDIT_POST_SETUP_PROMPT_v1.md ← prompt audit komprehensif setelah setup awal
17
+ ├── SPLIT_REPO_MIGRATION_PROMPT_v1.md ← prompt migrate ke 3-repo split architecture
18
+ ├── TEAM_ROLLOUT_GUIDE_v1.md ← panduan owner standar tim (kamu)
19
+ ├── AGENTS.md.template ← template AGENTS.md untuk root proyek (Pola B)
20
+ ├── JALANKAN_KIT.md ← prompt SINGLE-PASTE Pola B (default T = Team Mode / skip) + verifikasi setup
21
+ ├── install-windows.ps1 ← auto-installer Windows untuk Pola A (global)
22
+ ├── setup-pola-b.ps1 ← auto-setup script untuk Pola B (5 skeleton docs + auto-copy 17 file tim profesional)
23
+ ├── update-kit.ps1 ← auto-update kit (re-clone fresh + backup + setup, rollback-safe)
24
+ ├── uninstall.ps1 ← safe uninstall via manifest sha256 diff (PRISTINE/MODIFIED/SYMLINK/BLOCKED skip)
25
+ ├── kit.ps1 ← single entry point (kit setup/update/uninstall/doctor/scan/version/help)
26
+ └── templates/
27
+ ├── architecture.md ← template peta proyek
28
+ ├── glossary.md ← template kamus istilah domain
29
+ ├── _PATTERNS.md ← aturan dokumentasi tim profesional generic
30
+ ├── _EXAMPLE.md ← contoh format .md pendamping siap-copy
31
+ ├── architecture_auto.md ← registry TOC AI-maintained (skeleton)
32
+ ├── CLAUDE_TEAM_GUIDE.md ← panduan tim AI-first (workflow harian, branching, review)
33
+ ├── PROMPT_LIBRARY.md ← 15 prompt pattern siap-pakai (tambah fitur, fix bug, SEO, deploy + chat-driven workflow)
34
+ ├── ONBOARDING.md ← playbook dev baru hire (Day 0 - Day 14)
35
+ ├── STACK_GUIDE.md ← Next.js + Vercel + SEO + security + Feature Flag
36
+ ├── MCP_SETUP.md ← MCP setup + PostgreSQL schema isolation (CyberSecurity)
37
+ ├── GLOSSARY_NON_PROGRAMMER.md ← kamus istilah AI/coding untuk non-programmer (WAJIB baca dulu)
38
+ ├── SECURITY_INCIDENT_PLAYBOOK.md ← playbook respon insiden keamanan (~5 menit baca)
39
+ ├── RLS_SETUP_PROMPT.md ← prompt setup Row Level Security Supabase
40
+ ├── DB_SCHEMA_SCAN_PROMPT.md ← prompt audit schema DB
41
+ ├── feature-flags-advanced.md ← panduan feature flag advanced (POST-LAUNCH ref)
42
+ ├── STACK_MIGRATION_GUIDE.md ← panduan migrasi Vercel -> Railway/Render (ADVANCED)
43
+ ├── decisions/ ← ADR (Architecture Decision Record) folder
44
+ │ ├── _TEMPLATE.md ← template ADR ringkas
45
+ │ └── README.md ← panduan kapan tulis ADR
46
+ └── github/ ← template GitHub Actions/PR/CODEOWNERS (di-copy ke proyek .github/)
47
+ ├── workflows/ai-review.yml ← Senior AI Reviewer GitHub Action
48
+ ├── workflows/backup-schemas.yml ← auto-backup schema DB ke artifact
49
+ ├── scripts/ai-review.js ← Script reviewer Claude API
50
+ ├── CODEOWNERS.template ← auto-assign reviewer per folder
51
+ └── pull_request_template.md ← PR template tim
52
+ ```
53
+
54
+ ## Halo!
55
+ Hai, bro/sis! Paket ini isinya **aturan kerja AI** yang aku pakai sehari-hari biar Claude Code (AI coding assistant-nya Anthropic) gak ngasal — outputnya rapi, ada dokumentasi, dan junior-friendly. Aku bagikan ke kamu supaya kamu gak perlu nyusun aturan dari nol. Sekali install, semua proyek kamu di komputer ini langsung "patuh" tanpa kamu copy-paste aturan tiap sesi. Estimasi setup: **5 menit**.
56
+
57
+ > Kit ini dipakai sebagai **standar tim IT** kita. Semua anggota tim pakai versi yang sama biar konsisten antar-proyek. Detail soal versi & update di section **Standar tim** di bawah.
58
+
59
+ > *Claude Code* = CLI (Command Line Interface) resmi Anthropic buat ngobrol sama AI Claude langsung dari terminal. Mirip ChatGPT tapi bisa baca/tulis file di komputer kamu.
60
+
61
+ ## Apa isi paket ini?
62
+ "Pola A install" = ke-copy ke `%USERPROFILE%\.claude\` saat jalanin `install-windows.ps1`. "Pola B kit-only" = stay di folder kit (untuk embed `.claude-kit/` di proyek). "Meta" = file pengantar, tidak ke-copy ke `~/.claude/` tapi penting di kit folder.
63
+
64
+ | File | Fungsi singkat | Kategori |
65
+ |---|---|:-:|
66
+ | `CLAUDE_universal_v1.md` | Aturan utama — AI baca otomatis tiap sesi (bahasa ID, anti-bug, wajib docs) | Pola A install |
67
+ | `PROJECT_LIFECYCLE_PROMPT_v1.md` | Prompt **4-stage lifecycle** (Stage A: Kickoff proyek baru / Stage B: Bootstrap docs proyek lama / Stage C: Update Docs refresh `.md` / Stage D: Migration proyek setengah jadi) — AI auto-route ke stage yang tepat | Pola A install |
68
+ | `UPDATE_KIT_PROMPT_v1.md` | Prompt **update kit ke versi baru** — AI auto-classify tier perubahan & action items | Pola A install |
69
+ | `AUDIT_POST_SETUP_PROMPT_v1.md` | Prompt **audit komprehensif setelah setup awal** — verifikasi kit, gap, & rekomendasi | Pola A install |
70
+ | `SPLIT_REPO_MIGRATION_PROMPT_v1.md` | Prompt **migrate ke 3-repo split architecture** (memisah kit, docs tim, proyek) | Pola A install |
71
+ | `TEAM_ROLLOUT_GUIDE_v1.md` | Panduan **pemimpin tim** (kamu) buat rollout kit ini jadi standar tim | Pola A install |
72
+ | `templates/architecture.md` | Template peta isi folder `docs/` proyek | Pola A install |
73
+ | `templates/glossary.md` | Template kamus istilah proyek | Pola A install |
74
+ | `templates/_PATTERNS.md` | **Standar dokumentasi tim profesional** (kapan wajib ada `.md`, format, anti-pattern) | Pola A install |
75
+ | `templates/_EXAMPLE.md` | Contoh konkret 1 file `.md` pendamping siap-copy (reference format) | Pola A install |
76
+ | `templates/architecture_auto.md` | Registry TOC AI-maintained (auto-tracker semua `.md` di `docs/`) | Pola A install |
77
+ | `AGENTS.md.template` | Template `AGENTS.md` untuk dicopy ke root proyek (Pola B) | Pola B kit-only |
78
+ | `JALANKAN_KIT.md` | Prompt **SINGLE-PASTE** Pola B — AI tanya user pilih kondisi **T/B/skip (default T = Team Mode)** + setup + 4 aturan + 17 file tim profesional + verifikasi (gabungan dari prompt setup + first-session lama) | Pola B kit-only |
79
+ | `setup-pola-b.ps1` | Script auto-setup Pola B di root proyek (copy AGENTS.md + 5 skeleton docs/) | Pola B kit-only |
80
+ | `install-windows.ps1` | Script auto-install Windows untuk Pola A (global) | Meta |
81
+ | `README.md` | File ini — baca dulu | Meta |
82
+ | `CHANGELOG.md` | Log perubahan per versi | Meta |
83
+ | `CONTRIBUTING.md` | Panduan anggota tim untuk usul perubahan aturan | Meta |
84
+ | `LICENSE` | MIT — bebas pakai/modif/distribusi | Meta |
85
+ | `.gitignore` | Untuk repo standar tim (kalau kit ini di-track di Git) | Meta |
86
+
87
+ > Catatan path: kit ini Windows-only. `~/.claude/` di PowerShell sama dengan `%USERPROFILE%\.claude\` (mis. `C:\Users\Andi\.claude\`). Backslash `\` dan slash `/` dua-duanya jalan di PowerShell modern.
88
+
89
+ ## Persiapan (sekali saja)
90
+ 1. Install **Claude Code** dulu kalau belum: https://claude.com/claude-code
91
+ 2. Login ke akun Anthropic kamu (ikutin instruksi installer).
92
+ 3. Cek dia jalan: buka terminal, ketik `claude --version`. Kalau keluar nomor versi, aman.
93
+
94
+ ## Cara Install (Recommended untuk Staff)
95
+
96
+ ### Cara 1: NPM (1 perintah, paling cepat)
97
+
98
+ ```bash
99
+ # Buka PowerShell di folder project, jalankan:
100
+ npx @ojokesusu/lintasai init
101
+ ```
102
+
103
+ Kit auto-deploy + setup project. Total 1 menit.
104
+
105
+ Untuk update:
106
+ ```bash
107
+ npx @ojokesusu/lintasai update
108
+ ```
109
+
110
+ ### Cara 2: Git Clone (untuk owner / advanced)
111
+
112
+ Lihat section **"Distribusi via GitHub repo"** di bawah untuk detail git clone, degit, atau prompt-driven setup.
113
+
114
+ ---
115
+
116
+ ## Cara Install Manual (Advanced)
117
+
118
+ > Section ini untuk owner / advanced user yang ingin install global (Pola A) atau setup manual tanpa NPM. Staff IT non-programmer disarankan pakai **Cara 1 (NPM)** di atas.
119
+
120
+ ### Opsi A: Otomatis (cepat, ~10 detik)
121
+
122
+ Buka PowerShell di folder paket ini, jalanin:
123
+ ```powershell
124
+ # Allow script jalan di sesi ini saja (aman, mati saat PowerShell ditutup)
125
+ Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
126
+ # Install
127
+ .\install-windows.ps1
128
+ ```
129
+ Script otomatis nge-`Unblock-File` (handle Mark-of-the-Web kalau zip didownload dari internet). Mau cek tanpa nimpa apapun? Tambah flag `-DryRun`.
130
+
131
+ Kalau di folder profil udah ada `CLAUDE.md`, **script otomatis backup** ke `CLAUDE.md.backup-YYYYMMDD-HHMMSS` sebelum nimpa — jadi file lamamu aman.
132
+
133
+ ### Opsi B: Manual copy
134
+
135
+ Tujuan: copy file paket ke folder profil Claude kamu — `%USERPROFILE%\.claude\` (= `C:\Users\<NamaKamu>\.claude\`).
136
+
137
+ Mapping file:
138
+
139
+ | Dari (paket) | Ke (folder profil) |
140
+ |---|---|
141
+ | `CLAUDE_universal_v1.md` | `%USERPROFILE%\.claude\CLAUDE.md` *(rename!)* |
142
+ | `PROJECT_LIFECYCLE_PROMPT_v1.md` | `%USERPROFILE%\.claude\PROJECT_LIFECYCLE_PROMPT_v1.md` |
143
+ | `UPDATE_KIT_PROMPT_v1.md` | `%USERPROFILE%\.claude\UPDATE_KIT_PROMPT_v1.md` |
144
+ | `AUDIT_POST_SETUP_PROMPT_v1.md` | `%USERPROFILE%\.claude\AUDIT_POST_SETUP_PROMPT_v1.md` |
145
+ | `SPLIT_REPO_MIGRATION_PROMPT_v1.md` | `%USERPROFILE%\.claude\SPLIT_REPO_MIGRATION_PROMPT_v1.md` |
146
+ | `TEAM_ROLLOUT_GUIDE_v1.md` | `%USERPROFILE%\.claude\TEAM_ROLLOUT_GUIDE_v1.md` |
147
+ | `templates\architecture.md` | `%USERPROFILE%\.claude\templates\architecture.md` |
148
+ | `templates\glossary.md` | `%USERPROFILE%\.claude\templates\glossary.md` |
149
+
150
+ > WARNING: Kalau folder profil udah ada `CLAUDE.md`, **backup dulu manual** (rename jadi `CLAUDE.md.backup-20260530-093000` — pakai timestamp sekarang) sebelum nimpa. Format ini sama persis dengan yang dipakai script otomatis, biar konsisten.
151
+
152
+ ## Verifikasi install
153
+ Di PowerShell:
154
+ ```powershell
155
+ Get-ChildItem $env:USERPROFILE\.claude\
156
+ Get-Content $env:USERPROFILE\.claude\CLAUDE.md -TotalCount 3
157
+ ```
158
+ Harus kelihatan: `CLAUDE.md`, 5 file prompt/guide, dan folder `templates\`. Baris pertama `CLAUDE.md` harus nampilin header versi (mis. `v1 · 2026-05-30`) — itu tandanya file bener-bener ke-copy. Mau yakin AI baca aturannya? Buka Claude Code, lalu tanya: *"Kamu baca aturan dari file apa? Sebutin versi di header."* Kalau dia jawab `%USERPROFILE%\.claude\CLAUDE.md` + versi yang sama, sukses.
159
+
160
+ ## Pakai sehari-hari — 1 prompt, 4 stage
161
+
162
+ Sejak v1.5+, **3 skenario lama (KICKOFF / BOOTSTRAP / MIGRATION) + UPDATE_DOCS** sudah digabung jadi **1 prompt single-entry**: `PROJECT_LIFECYCLE_PROMPT_v1.md`. Kamu cukup paste prompt yang sama di semua skenario — AI **auto-route ke Stage A/B/C/D** berdasarkan kondisi proyek.
163
+
164
+ ### Cara pakai (semua skenario)
165
+ ```powershell
166
+ cd C:\path\ke\proyek # atau mkdir proyek-baru; cd proyek-baru; git init
167
+ claude
168
+ ```
169
+ Di sesi Claude, **paste isi `%USERPROFILE%\.claude\PROJECT_LIFECYCLE_PROMPT_v1.md`**. AI akan auto-detect kondisi & route:
170
+
171
+ - **Stage A — Kickoff** → proyek BARU dari nol (folder kosong / cuma `.git`). AI nanyain stack, bikin struktur folder, setup `docs/` otomatis.
172
+ - **Stage B — Bootstrap Docs** → proyek LAMA punya code tapi belum punya `.md` pendamping. AI baca code lalu auto-fill semua `.md` di `docs/`.
173
+ - **Stage C — Update Docs** → docs sudah ada tapi backlog tertinggal jauh dari code. AI bulk-refresh `.md` pendamping yang outdated.
174
+ - **Stage D — Migration** → proyek SETENGAH JADI (sudah jalan + mungkin punya konvensi sendiri). AI audit read-only → tampilkan tabel gap (P0/P1/P2) → bikin `docs/MIGRATION_TO_STANDARD.md` → eksekusi Quick Wins dengan konfirmasi per langkah.
175
+
176
+ Filosofi tetap sama untuk semua stage: **bentrok OK**, perbaikan bertahap (boy scout rule), no paksa rewrite besar. Sesi berikutnya: paste prompt yang sama → AI baca state file → lanjut dari item pending.
177
+
178
+ ### Sesi biasa di proyek yang udah jalan
179
+ Tinggal `claude` aja di folder proyek — aturan global ke-load otomatis, gak perlu paste apa-apa.
180
+
181
+ ---
182
+
183
+ ## Standar tim (kalau dipakai >1 orang)
184
+ Kit ini dirancang jadi **standar tim IT 3-10 orang**. Filosofi: hemat energi, konsisten lintas-proyek, perbaikan bertahap. Beberapa hal yang penting saat dipakai tim:
185
+
186
+ - **Semua anggota pakai versi yang sama** — taruh kit di Git repo private internal dengan tag versi (`v1`, `v1.1`, dst). Bukan Google Drive bebas yang versinya nyasar.
187
+ - **1 owner standar** (mis. pemimpin tim) yang approve perubahan aturan + rilis versi baru. Anggota lain usul via issue/PR di repo standar.
188
+ - **Channel diskusi tunggal** (`#it-standard` di Slack/Discord/WA) untuk usulan, announce update, troubleshooting.
189
+ - **Update otomatis backup** — saat owner rilis v1.2, anggota jalanin `install-windows.ps1` lagi. Script backup file lama dengan timestamp, gak rusak setting existing.
190
+ - **Exception per-proyek dicatat** — kalau proyek X opt-out aturan Y, catat di `exceptions.md` di repo standar dengan sunset date. Review tiap bulan.
191
+ - **Adopsi per-proyek pakai `PROJECT_LIFECYCLE_PROMPT_v1.md`** — 1 prompt, AI auto-route ke Stage A (Kickoff) / B (Bootstrap Docs) / C (Update Docs) / D (Migration) sesuai kondisi proyek.
192
+
193
+ Detail lengkap (governance, distribusi update, metric kesehatan tim, anti-pattern, FAQ tim) ada di **`%USERPROFILE%\.claude\TEAM_ROLLOUT_GUIDE_v1.md`** — baca kalau kamu pemimpin tim / owner standar.
194
+
195
+ ## Distribusi via GitHub repo
196
+
197
+ Kit ini di-publish di **`github.com/ojokesusu/lintasAI`** (private repo standar tim). Staff IT clone langsung dari sana — tidak perlu kirim zip via email/chat. Update kit cukup `git pull` di local clone. **3 cara setup**:
198
+
199
+ ### Cara 1 — Git clone (paling umum, butuh git terpasang)
200
+
201
+ ```powershell
202
+ # Dari root proyek
203
+ git clone --depth 1 https://github.com/ojokesusu/lintasAI.git .claude-kit
204
+ # Hapus .git/ supaya tidak konflik dengan git proyek user:
205
+ Remove-Item .claude-kit\.git -Recurse -Force
206
+ # Setup
207
+ Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
208
+ .\.claude-kit\setup-pola-b.ps1
209
+ # Buka Claude Code, paste isi .claude-kit\JALANKAN_KIT.md
210
+ ```
211
+
212
+ `--depth 1` = clone shallow (tanpa history) supaya cepat + ringan (~80 KB vs MB-level).
213
+
214
+ ### Cara 2 — degit (clone tanpa .git/, butuh Node.js)
215
+
216
+ ```powershell
217
+ npx degit ojokesusu/lintasAI .claude-kit
218
+ Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
219
+ .\.claude-kit\setup-pola-b.ps1
220
+ # Buka Claude Code, paste isi .claude-kit\JALANKAN_KIT.md
221
+ ```
222
+
223
+ `degit` auto skip `.git/` folder = output bersih siap-pakai. Recommended untuk staff IT yang sudah punya Node.js.
224
+
225
+ ### Cara 3 — Prompt ke Claude Code (paling simple)
226
+
227
+ Buka Claude Code di root proyek, prompt:
228
+
229
+ ```
230
+ Mohon clone https://github.com/ojokesusu/lintasAI ke folder .claude-kit
231
+ (hapus .git/ setelahnya), lalu jalankan setup-pola-b.ps1, lalu eksekusi
232
+ isi JALANKAN_KIT.md.
233
+ ```
234
+
235
+ AI akan handle git clone + cleanup + setup + JALANKAN_KIT workflow end-to-end.
236
+
237
+ ### Cara 4 — Download zip dari GitHub Releases (fallback)
238
+
239
+ Kalau staff IT tidak install git / Node.js, download zip dari [Releases](https://github.com/ojokesusu/lintasAI/releases) → extract ke `.claude-kit/`. Workflow sama seperti zip biasa.
240
+
241
+ ### Update kit ke versi baru
242
+
243
+ #### ⭐ Cara A — Auto-update dengan `update-kit.ps1` (RECOMMENDED)
244
+
245
+ Kit punya **script auto-update** yang handle re-clone fresh + backup + setup script + version detection dalam 1 command:
246
+
247
+ ```powershell
248
+ # Dari root proyek (folder yang ada .claude-kit/ di dalamnya):
249
+ .\.claude-kit\update-kit.ps1
250
+ ```
251
+
252
+ Script otomatis lakukan:
253
+ 1. ✅ **Backup** `.claude-kit/` lama ke `.claude-kit.backup-<timestamp>` (rollback-safe).
254
+ 2. ✅ **Clone fresh** dari `github.com/ojokesusu/lintasAI` (depth 1, hemat bandwidth).
255
+ 3. ✅ **Hapus `.git/` internal** (cegah konflik dengan git proyek user).
256
+ 4. ✅ **Re-run `setup-pola-b.ps1 -Force`** (anti-overwrite preserve `docs/` existing).
257
+ 5. ✅ **Detect versi lama vs baru** + tampilkan action items.
258
+
259
+ **Parameter opsional**:
260
+ - `-NoBackup` — skip backup (irreversible, hati-hati).
261
+ - `-RepoUrl <url>` — override default (untuk fork private kamu sendiri).
262
+ - `-Branch <name>` — clone branch lain (default: `main`).
263
+ - `-DryRun` — preview tindakan tanpa eksekusi.
264
+
265
+ **Kalau git clone gagal** (network/auth issue): script auto-rollback restore backup. Zero half-state risk.
266
+
267
+ #### Cara B — Manual re-clone (kalau update-kit.ps1 tidak available di kit kamu)
268
+
269
+ ```powershell
270
+ cd <project-root>
271
+ Remove-Item .claude-kit -Recurse -Force
272
+ git clone --depth 1 https://github.com/ojokesusu/lintasAI.git .claude-kit
273
+ Remove-Item .claude-kit\.git -Recurse -Force
274
+ .\.claude-kit\setup-pola-b.ps1 -Force
275
+ ```
276
+
277
+ Sama hasilnya dengan Cara A, tapi manual + tidak ada backup otomatis.
278
+
279
+ #### Cara C — `npx degit` (Node.js fallback)
280
+
281
+ ```powershell
282
+ npx degit ojokesusu/lintasAI .claude-kit --force
283
+ .\.claude-kit\setup-pola-b.ps1 -Force
284
+ ```
285
+
286
+ **PENTING — selalu re-run `setup-pola-b.ps1` setelah update kit** (otomatis lewat Cara A; manual di Cara B/C). Itu yang trigger copy file skeleton BARU dari kit ke `docs/` (anti-overwrite tetap aktif → file `docs/*.md` user existing AMAN, tidak ditimpa).
287
+
288
+ **Action items setelah update**:
289
+ 1. Baca `CHANGELOG.md` section `[vX.Y.Z]` untuk overview perubahan.
290
+ 2. Update `AGENTS.md` field `Versi kit aktif: vX.Y.Z` di root proyek.
291
+ 3. Kalau CHANGELOG sebut workflow change di `JALANKAN_KIT.md` → re-paste ke Claude Code untuk aktifkan.
292
+ 4. Verify 1 sesi Claude Code untuk pastikan kit jalan smooth.
293
+
294
+ ### Trade-off private vs public repo
295
+
296
+ | Aspek | **Private repo** (saat ini default) | **Public repo** |
297
+ |---|---|---|
298
+ | Staff IT clone | Wajib GitHub auth (SSH key / PAT) | Zero auth — `git clone` langsung |
299
+ | Bocoran ke pihak luar | Tidak — repo invisible | Public — tapi kit ini generic + MIT license, tidak ada secret |
300
+ | Adopsi external (community) | Tidak | Bisa — komunitas eksternal bisa fork / contribute |
301
+ | Setup friction | +1 step setup GitHub auth per staff IT | 0 |
302
+ | Saran owner | Cocok kalau tim kecil + tidak mau external visibility | Cocok kalau OK community contribution + lebih simple untuk staff IT baru |
303
+
304
+ **Default rekomen**: **public** kalau kit ini generic infrastructure. Pilih private cuma kalau ada concern internal-only.
305
+
306
+ ---
307
+
308
+ ## Pola B: Embed kit di proyek (manual extract, tanpa GitHub)
309
+
310
+ Selain install global di `%USERPROFILE%\.claude\` (Pola A) atau clone dari GitHub (di atas), kit ini bisa di-embed manual dari zip yang kamu dapat (mis. lewat chat/email) sebagai `.claude-kit/`. Cocok kalau kit mau **di-track di git proyek** biar version-locked (semua anggota tim dapat versi sama persis saat clone repo), atau kalau proyek punya aturan khusus beda dari aturan global. Bedanya: Pola A berlaku untuk **semua proyek** di laptop user, Pola B cuma berlaku untuk **satu proyek** itu saja. Versi kit aktif paket ini: **v1.0.0** (verifikasi via `.claude-kit\CHANGELOG.md` setelah extract).
311
+
312
+ ### Cara setup otomatis
313
+
314
+ Buka PowerShell dan `cd` ke **root proyek** dulu (tempat `package.json` / `.git` berada). Semua perintah di bawah asumsikan cwd = root proyek.
315
+
316
+ ```powershell
317
+ # 1. Allow script di sesi ini saja (aman, mati saat PowerShell ditutup)
318
+ Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
319
+
320
+ # 2. Extract zip kit jadi folder .claude-kit\ di root proyek
321
+ # Ganti <path-ke-zip-kamu> dengan lokasi zip yang kamu download (Slack/email/Downloads).
322
+ Expand-Archive -Path "<path-ke-zip-kamu>" -DestinationPath ".\.claude-kit" -Force
323
+
324
+ # 3. Jalankan setup script
325
+ .\.claude-kit\setup-pola-b.ps1
326
+ ```
327
+
328
+ Script otomatis: (a) **deteksi nested extract** dan tawarkan auto-flatten; (b) **unblock Mark-of-the-Web** untuk semua file kit (cegah block kalau zip didownload via browser); (c) **deteksi CLAUDE.md existing** dan tanya: rename ke `.legacy-<timestamp>` / biarkan dua-duanya / batal; (d) copy `AGENTS.md.template` jadi `AGENTS.md`, isi placeholder; (e) auto-backup `AGENTS.md` lama kalau ada.
329
+
330
+ ### Cara setup manual
331
+
332
+ Kalau lebih suka manual (atau script error), 3 langkah dari root proyek:
333
+
334
+ 1. **Extract zip kit** jadi `.\.claude-kit\` (perintah `Expand-Archive` di atas).
335
+ 2. **Copy template:** `Copy-Item .\.claude-kit\AGENTS.md.template .\AGENTS.md` (cek dulu `AGENTS.md` belum ada — kalau ada, backup pakai nama ber-timestamp).
336
+ 3. **Edit `AGENTS.md`** di root: isi `<NAMA_PROYEK>`, `<TANGGAL_HARI_INI>`, override khusus proyek (boleh kosong dulu kalau belum ada).
337
+
338
+ ### Verifikasi
339
+
340
+ Setelah langkah 1 + 2 di atas **selesai semua**, buka Claude Code di root proyek lalu paste isi `.\.claude-kit\JALANKAN_KIT.md` ke chat. AI cek `.claude-kit/` lengkap, versi kit match `AGENTS.md`, `AGENTS.md` ke-load, lalu kasih tour singkat. Kalau AI bilang "file X tidak ditemukan" atau "versi drift", berarti extract belum tepat — ulangi langkah 1. **PENTING:** jangan paste prompt sebelum script jalan, urutannya akan kacau.
341
+
342
+ ### Pakai sehari-hari di Pola B
343
+
344
+ Workflow sama persis dengan Pola A (paste `PROJECT_LIFECYCLE_PROMPT_v1.md`, AI auto-route ke Stage A/B/C/D), **bedanya cuma path prompt**: paste isi dari `.\.claude-kit\PROJECT_LIFECYCLE_PROMPT_v1.md`, bukan dari `%USERPROFILE%\.claude\PROJECT_LIFECYCLE_PROMPT_v1.md`. `AGENTS.md` otomatis kasih tau AI: kalau ada `./.claude-kit/`, baca prompts dari situ.
345
+
346
+ > Kalau user **dua-duanya punya** (install global + `.claude-kit/`), `AGENTS.md` proyek menang — pas buat override aturan global untuk proyek tertentu.
347
+
348
+ ### Trade-off vs install global
349
+
350
+ | Aspek | Pola B (embed di proyek) | Pola A (install global) |
351
+ |---------------|-------------------------------------------------------|--------------------------------------------------|
352
+ | Auto-load | Via `AGENTS.md` di root proyek | Via `CLAUDE.md` global di `%USERPROFILE%\.claude\` |
353
+ | Scope | Cuma proyek itu | Semua proyek di laptop user |
354
+ | Update kit | Extract zip versi baru → overwrite `.claude-kit\` → `git commit` | Replace file di `%USERPROFILE%\.claude\` (1x untuk semua proyek) |
355
+ | Duplikasi | Tiap proyek punya copy sendiri (~beberapa MB/proyek) | 1 copy dipakai semua proyek |
356
+
357
+ ### Hapus kit dari proyek (uninstall yang aman)
358
+
359
+ Mau hapus lintasAI dari proyek? **JANGAN delete folder `docs/` atau `.github/` mentah-mentah** — folder itu kemungkinan campur antara file kit dan file proyek kamu sendiri. Pakai `uninstall.ps1` yang tahu mana file kit vs mana file proyek.
360
+
361
+ **Alur disarankan untuk user baru (3 langkah):**
362
+
363
+ **Langkah 1 — Preview dulu (WAJIB, supaya tahu apa yang akan dihapus):**
364
+ ```powershell
365
+ .\.claude-kit\kit.ps1 uninstall -DryRun
366
+ ```
367
+ Script tampilkan: daftar file PRISTINE (akan dihapus), MODIFIED (akan DILEWATI), SYMLINK/BLOCKED/LOCKED (SKIP dengan alasan), dan ringkasan total. Tidak ada satu pun file yang dihapus di langkah ini.
368
+
369
+ **Langkah 2 — Hapus beneran (konservatif, RECOMMENDED):**
370
+ ```powershell
371
+ .\.claude-kit\kit.ps1 uninstall
372
+ ```
373
+ Jawab `Y` saat ditanya konfirmasi. Script hapus cuma file PRISTINE. File yang sudah kamu edit TETAP ada.
374
+
375
+ **Langkah 3 — Hapus folder `.claude-kit\` sendiri (manual):**
376
+ Script tidak bisa hapus folder yang sedang dia jalankan dari sana. Setelah langkah 2 selesai, **TUTUP semua VSCode / editor yang membuka file di `.claude-kit\`**, lalu jalankan di PowerShell baru:
377
+ ```powershell
378
+ Remove-Item -Recurse -Force .\.claude-kit
379
+ ```
380
+
381
+ **Opsi tambahan (advanced):**
382
+ ```powershell
383
+ # Hapus juga file kit yang sudah kamu edit (backup .bak dulu, jadi rollback-able):
384
+ .\.claude-kit\kit.ps1 uninstall -Force
385
+
386
+ # Hapus juga AGENTS.md (default skip karena heavy customization):
387
+ .\.claude-kit\kit.ps1 uninstall -DeleteAgents
388
+
389
+ # Suppress instruksi self-delete .claude-kit\ (kalau memang mau retain folder kit):
390
+ .\.claude-kit\kit.ps1 uninstall -KeepKit
391
+
392
+ # CI / automation auto-confirm (PAKAI cuma kalau sudah lihat dry-run):
393
+ .\.claude-kit\kit.ps1 uninstall -Yes
394
+
395
+ # Folder proyek di-rename setelah install (manifest project_root tidak match):
396
+ .\.claude-kit\kit.ps1 uninstall -AllowProjectRootMismatch
397
+ ```
398
+
399
+ **Setelah selesai, kamu akan dapat konfirmasi:**
400
+ - File proyek asli di `docs/`, `src/`, `package.json`, dll. AMAN tidak disentuh.
401
+ - File kit yang kamu edit (tanpa `-Force`) masih ada di tempatnya.
402
+ - Verifikasi: jalankan `git status` — file proyek tidak boleh muncul sebagai deleted.
403
+
404
+ **Cara kerja:** setup-pola-b.ps1 tulis `.claude-kit/.install-manifest.json` yang berisi sha256 hash setiap file yang kit copy. Uninstall classify tiap file:
405
+
406
+ - **PRISTINE** (hash match) → auto-delete, file persis sama dengan kit.
407
+ - **MODIFIED** (hash beda) → kamu sudah edit; default SKIP. `-Force` → backup ke `.pre-uninstall-<timestamp>.bak` lalu hapus.
408
+ - **SYMLINK** (junction / symbolic link) → SKIP selalu (cegah leak isi file di luar project ke .bak).
409
+ - **BLOCKED** (path escape ke luar project root) → REJECT (proteksi path traversal kalau manifest di-tamper).
410
+ - **LOCKED** (hash gagal — file di-buka editor / AV) → SKIP, tutup editor + re-run.
411
+ - **MISSING** (file sudah tidak ada) → skip silent.
412
+ - **BACKUP** (file `.backup-*` dari setup -Force) → preserved, hapus manual kalau mau.
413
+
414
+ **Hard-fail** kalau `project_root` di manifest tidak match lokasi sekarang (cegah manifest project lain delete file di sini). Override via `-AllowProjectRootMismatch` untuk kasus folder di-rename.
415
+
416
+ **AGENTS.md default tidak dihapus** (heavy customization expected). Pakai `-DeleteAgents` kalau memang mau hapus.
417
+
418
+ **Direktori (`docs/`, `.github/`, dll.) cuma dihapus kalau EMPTY** setelah file kit dibersihkan. Project file kamu di sana TETAP aman. Junction/symlink dir terdeteksi → tidak diikuti.
419
+
420
+ **⚠ Catatan TOCTOU:** plan dry-run adalah snapshot — kalau kamu edit file antara dry-run dan run eksekusi, script re-hash sebelum delete dan SKIP file yang berubah. Aman.
421
+
422
+ **⚠ Catatan re-create:** kalau kamu pernah `git checkout -- <file>` revert file kit ke versi original, hash akan match lagi → file ke-auto-delete sebagai PRISTINE. Selalu jalankan `-DryRun` dulu sebelum `-Yes` untuk automation.
423
+
424
+ #### Kalau manifest TIDAK ADA (kit lama / corrupt)
425
+
426
+ Untuk install pakai versi < v1.0.0 (sebelum manifest support) atau manifest hilang, script `uninstall.ps1` keluar dengan instruksi fallback manual. Daftar file yang kit deploy di Pola B:
427
+
428
+ - `AGENTS.md` (root proyek) — heavy customized, **JANGAN hapus tanpa baca dulu**
429
+ - `docs/architecture.md`, `docs/glossary.md`, `docs/architecture_auto.md`, `docs/_PATTERNS.md`, `docs/_EXAMPLE.md`
430
+ - `docs/CLAUDE_TEAM_GUIDE.md`, `docs/PROMPT_LIBRARY.md`, `docs/ONBOARDING.md`, `docs/STACK_GUIDE.md`, `docs/STACK_MIGRATION_GUIDE.md`
431
+ - `docs/MCP_SETUP.md`, `docs/RLS_SETUP_PROMPT.md`, `docs/DB_SCHEMA_SCAN_PROMPT.md`, `docs/GLOSSARY_NON_PROGRAMMER.md`, `docs/SECURITY_INCIDENT_PLAYBOOK.md`, `docs/feature-flags-advanced.md`
432
+ - `docs/decisions/_TEMPLATE.md`, `docs/decisions/README.md`
433
+ - `.github/workflows/ai-review.yml`, `.github/workflows/backup-schemas.yml`, `.github/scripts/ai-review.js`, `.github/CODEOWNERS`, `.github/pull_request_template.md`
434
+ - `.claude-kit/` folder itu sendiri
435
+
436
+ Review tiap file sebelum hapus — `docs/` dan `.github/` kemungkinan campur dengan file proyek kamu sendiri.
437
+
438
+ ## Troubleshooting Pola B (kalau setup error)
439
+
440
+ **Error: `cannot be loaded because running scripts is disabled` (Execution Policy)**
441
+ ```powershell
442
+ Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
443
+ ```
444
+ Cuma berlaku di sesi PowerShell saat ini. Re-run setup script.
445
+
446
+ **Error: `Expand-Archive: Cannot find path '<path-ke-zip-kamu>'`**
447
+ Ganti `<path-ke-zip-kamu>` dengan path PENUH dari zip kit kamu, contoh:
448
+ ```powershell
449
+ Expand-Archive -Path "$HOME\Downloads\claude-ai-rules-kit.zip" -DestinationPath ".\.claude-kit" -Force
450
+ ```
451
+
452
+ **Error: script ke-block "this file is not digitally signed" / SecurityError**
453
+ Mark-of-the-Web (MOTW) — Windows nge-tag file dari internet. Setup script otomatis nge-unblock, tapi kalau gagal:
454
+ ```powershell
455
+ Get-ChildItem .\.claude-kit\ -Recurse | Unblock-File
456
+ ```
457
+
458
+ **Setup script bilang "DETEKSI: Kit ter-extract NESTED"**
459
+ Berarti zip extract jadi `.\.claude-kit\claude-ai-rules-kit\...` (nested). Pilih opsi `Y` saat ditanya — script otomatis flatten.
460
+
461
+ **`claude` command not found**
462
+ Install Claude Code dulu: https://claude.com/claude-code. Verifikasi: `claude --version`.
463
+
464
+ **AI tidak baca AGENTS.md / `.claude-kit/`**
465
+ Pastikan kamu jalankan Claude Code dari **root proyek** (folder tempat `AGENTS.md` berada), bukan dari subfolder. Tanya AI: *"Kamu baca file aturan dari path apa?"* — kalau jawab `~/.claude/CLAUDE.md` (Pola A), bukan `./AGENTS.md` (Pola B), kemungkinan kamu jalanin dari folder salah.
466
+
467
+ ## FAQ singkat
468
+
469
+ **Q: Aku udah punya `CLAUDE.md` global, gimana?**
470
+ A: Pakai Opsi A — script otomatis backup ke `CLAUDE.md.backup-<timestamp>` sebelum nimpa. Habis itu kamu bisa merge bagian yang mau dipertahankan.
471
+
472
+ **Q: AI-nya bandel, gak ikut aturan?**
473
+ A: Tegur langsung: *"kamu ngelanggar aturan poin X di CLAUDE.md, ulangi"*. Biasanya nurut. Kalau sering, cek dia baca file yang bener: tanya *"path CLAUDE.md yang kamu baca apa?"*
474
+
475
+ **Q: Mau update aturan ke versi baru?**
476
+ A: Tinggal jalanin install script lagi — backup otomatis, file baru ke-pasang. Versi tertulis di header tiap file (mis. `v1 · 2026-05-30`).
477
+
478
+ **Q: Boleh aku modif aturannya?**
479
+ A: Boleh banget! Itu file kamu sendiri. Saran: naikkan versi & tanggal di header tiap kali nge-edit, biar gampang lacak.
480
+
481
+ **Q: Komputer kerja kantor, gimana?**
482
+ A: Aturan ini disimpan di profil user kamu (`~/.claude/`), gak ganggu setting kantor / proyek tim. Aman.
483
+
484
+ **Q: Bisa per-proyek juga?**
485
+ A: Bisa. Bikin `CLAUDE.md` di root proyek — isinya bakal **ditambahkan** ke aturan global (bukan menimpa total). Jadi aturan proyek = aturan global + tambahan dari file proyek. Cocok buat catatan khusus stack/konvensi proyek itu.
486
+
487
+ **Q: Memory & plans Claude Code disimpan di mana? Kenapa gak di `.claude-kit/`?**
488
+ A: Disimpan di `%USERPROFILE%\.claude\projects\<hash>\memory\` & `%USERPROFILE%\.claude\plans\` — **by-design Anthropic Claude Code**, bukan kit ini. Sengaja TIDAK di `.claude-kit/` karena:
489
+ - **Privacy** — memory berisi info pribadi (preferensi user, snapshot keamanan, kredensial dev). Kalau ter-commit = bocor sekali push.
490
+ - **Per-user** — memory kamu beda dari memory teman tim. Tidak share-able dalam 1 repo.
491
+ - **Auto-load** — Claude Code engine hardcode baca path tersebut. Pindah lokasi = auto-load mati.
492
+
493
+ Jadi 4 lokasi persistence Claude Code adalah:
494
+
495
+ | Lokasi | Ter-commit? | Peran |
496
+ |---|:-:|---|
497
+ | `.claude-kit/` + `AGENTS.md` (di repo) | ✅ YA | Aturan tim — shared ke semua |
498
+ | `docs/` (di repo) | ✅ YA | Dokumentasi teknis proyek |
499
+ | `%USERPROFILE%\.claude\projects\<hash>\memory\` | ❌ TIDAK | Catatan AI private (per-user) |
500
+ | `%USERPROFILE%\.claude\plans\` | ❌ TIDAK | Draft plan AI sementara (per-user) |
501
+
502
+ **Saran:** generate file `docs/CLAUDE_PERSISTENCE_MAP.md` di proyek kamu — peta singkat lokasi persistence di atas (4 lokasi) + catatan mana yang ter-commit / tidak. Tim baru tinggal baca peta itu, gak perlu nanya lagi. AI bisa bantu generate sekali kalau kamu minta.
503
+
504
+ ## Penutup
505
+ Kalau masih bingung, buka Claude Code **di folder proyek setelah install kelar**, lalu chat: "Halo, aku staff baru. Tolong cek install kit + briefing aturan dasar." AI akan auto-detect kondisi dan apply Guided Step-by-Step Workflow (lihat `CLAUDE_universal_v1.md` section 4.3). Selamat ngoding bareng AI yang patuh!
@@ -0,0 +1,5 @@
1
+ # DEPRECATED (lintasAI v1.0.0 republish 2026-06-04)
2
+
3
+ File ini deprecated. Setup Pola B sekarang internal script (setup-pola-b.ps1), tidak butuh prompt terpisah.
4
+
5
+ -> Pakai [JALANKAN_KIT.md](JALANKAN_KIT.md) untuk workflow setup pertama kali.