create-vasvibe 2.4.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/README.md +170 -167
  2. package/bin/cli.mjs +9 -9
  3. package/package.json +45 -45
  4. package/src/git.mjs +47 -47
  5. package/src/index.mjs +228 -228
  6. package/src/prompts.mjs +113 -113
  7. package/src/scaffold.mjs +74 -74
  8. package/src/upgrade.mjs +121 -121
  9. package/src/utils.mjs +91 -91
  10. package/template/.agents/agents/analyst/agent.json +43 -43
  11. package/template/.agents/agents/backend/agent.json +44 -44
  12. package/template/.agents/agents/data-architect/agent.json +43 -43
  13. package/template/.agents/agents/devops/agent.json +44 -44
  14. package/template/.agents/agents/discovery/agent.json +43 -43
  15. package/template/.agents/agents/document/agent.json +43 -43
  16. package/template/.agents/agents/explorer/agent.json +43 -43
  17. package/template/.agents/agents/fixer/agent.json +44 -44
  18. package/template/.agents/agents/frontend/agent.json +44 -44
  19. package/template/.agents/agents/fullstack/agent.json +44 -44
  20. package/template/.agents/agents/initiator/agent.json +41 -41
  21. package/template/.agents/agents/logger/agent.json +43 -43
  22. package/template/.agents/agents/manual-tester/agent.json +44 -0
  23. package/template/.agents/agents/orchestrator/agent.json +44 -44
  24. package/template/.agents/agents/pm/agent.json +42 -42
  25. package/template/.agents/agents/qa/agent.json +44 -44
  26. package/template/.agents/agents/reliability/agent.json +44 -44
  27. package/template/.agents/agents/security/agent.json +44 -44
  28. package/template/.agents/agents/sysarch/agent.json +44 -44
  29. package/template/.agents/agents/tester/agent.json +44 -44
  30. package/template/.agents/agents/toolsmith/agent.json +44 -44
  31. package/template/.agents/agents/ux-designer/agent.json +43 -43
  32. package/template/.agents/skills/find-skills/SKILL.md +142 -142
  33. package/template/.agents/skills/fullstack/SKILL.md +89 -89
  34. package/template/.agents/skills/penetration-testing/SKILL.md +94 -94
  35. package/template/.agents/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -328
  36. package/template/.agents/skills/penetration-testing/references/burp-suite-automation-script.md +135 -135
  37. package/template/.agents/skills/penetration-testing/scripts/security-checklist.sh +30 -30
  38. package/template/.agents/skills/pm/SKILL.md +170 -170
  39. package/template/.agents/skills/ui-ux-pro-max/SKILL.md +658 -658
  40. package/template/.agents/skills/ui-ux-pro-max/data/_sync_all.py +414 -414
  41. package/template/.agents/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
  42. package/template/.agents/skills/ui-ux-pro-max/data/design.csv +1775 -1775
  43. package/template/.agents/skills/ui-ux-pro-max/data/draft.csv +1778 -1778
  44. package/template/.agents/skills/ui-ux-pro-max/data/icons.csv +105 -105
  45. package/template/.agents/skills/ui-ux-pro-max/data/products.csv +162 -162
  46. package/template/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
  47. package/template/.agents/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
  48. package/template/.agents/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  49. package/template/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  50. package/template/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  51. package/template/.agents/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  52. package/template/.agents/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
  53. package/template/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  54. package/template/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  55. package/template/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  56. package/template/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  57. package/template/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  58. package/template/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  59. package/template/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  60. package/template/.agents/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
  61. package/template/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  62. package/template/.agents/skills/ui-ux-pro-max/data/typography.csv +74 -74
  63. package/template/.agents/skills/ui-ux-pro-max/scripts/core.py +262 -262
  64. package/template/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1148 -1148
  65. package/template/.agents/workflows/build-feature.md +21 -21
  66. package/template/.agents/workflows/build-prototype.md +32 -32
  67. package/template/.agents/workflows/daily-standup.md +16 -16
  68. package/template/.agents/workflows/deliver-feature.md +16 -16
  69. package/template/.agents/workflows/explorer.md +78 -78
  70. package/template/.agents/workflows/harden-release.md +21 -21
  71. package/template/.agents/workflows/logger.md +117 -117
  72. package/template/.agents/workflows/plan-feature.md +30 -30
  73. package/template/.agents/workflows/plan-project.md +25 -25
  74. package/template/.agents/workflows/release.md +18 -18
  75. package/template/.agents/workflows/security-audit.md +19 -19
  76. package/template/.agents/workflows/setup-workspace.md +21 -21
  77. package/template/.agents/workflows/start-fix.md +18 -18
  78. package/template/.agents/workflows/test-feature.md +17 -17
  79. package/template/.claude/agents/analyst.md +109 -109
  80. package/template/.claude/agents/backend.md +61 -61
  81. package/template/.claude/agents/data-architect.md +43 -43
  82. package/template/.claude/agents/devops.md +44 -43
  83. package/template/.claude/agents/discovery.md +51 -51
  84. package/template/.claude/agents/document.md +51 -51
  85. package/template/.claude/agents/explorer.md +138 -138
  86. package/template/.claude/agents/fixer.md +87 -86
  87. package/template/.claude/agents/frontend.md +65 -65
  88. package/template/.claude/agents/fullstack.md +91 -90
  89. package/template/.claude/agents/initiator.md +74 -74
  90. package/template/.claude/agents/logger.md +143 -143
  91. package/template/.claude/agents/manual-tester.md +108 -0
  92. package/template/.claude/agents/orchestrator.md +138 -137
  93. package/template/.claude/agents/pm.md +199 -199
  94. package/template/.claude/agents/qa.md +66 -65
  95. package/template/.claude/agents/reliability.md +48 -47
  96. package/template/.claude/agents/security.md +107 -106
  97. package/template/.claude/agents/sysarch.md +301 -301
  98. package/template/.claude/agents/tester.md +100 -100
  99. package/template/.claude/agents/toolsmith.md +77 -76
  100. package/template/.claude/agents/ux-designer.md +45 -45
  101. package/template/.claude/commands/build-feature.md +22 -22
  102. package/template/.claude/commands/build-prototype.md +33 -33
  103. package/template/.claude/commands/daily-standup.md +16 -16
  104. package/template/.claude/commands/deliver-feature.md +17 -17
  105. package/template/.claude/commands/harden-release.md +22 -22
  106. package/template/.claude/commands/manual-test.md +19 -0
  107. package/template/.claude/commands/plan-feature.md +31 -31
  108. package/template/.claude/commands/plan-project.md +26 -26
  109. package/template/.claude/commands/release.md +19 -19
  110. package/template/.claude/commands/security-audit.md +20 -20
  111. package/template/.claude/commands/setup-workspace.md +22 -22
  112. package/template/.claude/commands/start-fix.md +19 -19
  113. package/template/.claude/commands/test-feature.md +18 -18
  114. package/template/.claude/skills/find-skills/SKILL.md +142 -142
  115. package/template/.claude/skills/penetration-testing/SKILL.md +94 -94
  116. package/template/.claude/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -328
  117. package/template/.claude/skills/penetration-testing/references/burp-suite-automation-script.md +135 -135
  118. package/template/.claude/skills/penetration-testing/scripts/security-checklist.sh +30 -30
  119. package/template/.claude/skills/ui-ux-pro-max/SKILL.md +658 -658
  120. package/template/.claude/skills/ui-ux-pro-max/data/_sync_all.py +414 -414
  121. package/template/.claude/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
  122. package/template/.claude/skills/ui-ux-pro-max/data/design.csv +1775 -1775
  123. package/template/.claude/skills/ui-ux-pro-max/data/draft.csv +1778 -1778
  124. package/template/.claude/skills/ui-ux-pro-max/data/icons.csv +105 -105
  125. package/template/.claude/skills/ui-ux-pro-max/data/products.csv +162 -162
  126. package/template/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
  127. package/template/.claude/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
  128. package/template/.claude/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  129. package/template/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  130. package/template/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  131. package/template/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  132. package/template/.claude/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
  133. package/template/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  134. package/template/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  135. package/template/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  136. package/template/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  137. package/template/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  138. package/template/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  139. package/template/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  140. package/template/.claude/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
  141. package/template/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  142. package/template/.claude/skills/ui-ux-pro-max/data/typography.csv +74 -74
  143. package/template/.claude/skills/ui-ux-pro-max/scripts/core.py +262 -262
  144. package/template/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1148 -1148
  145. package/template/.github/prompts/analyst.prompt.md +104 -104
  146. package/template/.github/prompts/backend.prompt.md +44 -44
  147. package/template/.github/prompts/data-architect.prompt.md +38 -38
  148. package/template/.github/prompts/devops.prompt.md +32 -32
  149. package/template/.github/prompts/discovery.prompt.md +39 -39
  150. package/template/.github/prompts/document.prompt.md +14 -14
  151. package/template/.github/prompts/explorer.prompt.md +133 -133
  152. package/template/.github/prompts/fixer.prompt.md +82 -81
  153. package/template/.github/prompts/frontend.prompt.md +60 -60
  154. package/template/.github/prompts/fullstack.prompt.md +86 -86
  155. package/template/.github/prompts/initiator.prompt.md +55 -55
  156. package/template/.github/prompts/logger.prompt.md +138 -138
  157. package/template/.github/prompts/manual-tester.prompt.md +103 -0
  158. package/template/.github/prompts/orchestrator.prompt.md +133 -133
  159. package/template/.github/prompts/pm.prompt.md +186 -186
  160. package/template/.github/prompts/qa.prompt.md +57 -57
  161. package/template/.github/prompts/reliability.prompt.md +44 -44
  162. package/template/.github/prompts/security.prompt.md +41 -41
  163. package/template/.github/prompts/sysarch.prompt.md +351 -351
  164. package/template/.github/prompts/tester.prompt.md +107 -107
  165. package/template/.github/prompts/toolsmith.prompt.md +46 -46
  166. package/template/.github/prompts/ux-designer.prompt.md +41 -41
  167. package/template/.opencode/agents/analyst.md +108 -108
  168. package/template/.opencode/agents/backend.md +61 -61
  169. package/template/.opencode/agents/data-architect.md +43 -43
  170. package/template/.opencode/agents/devops.md +44 -44
  171. package/template/.opencode/agents/discovery.md +51 -51
  172. package/template/.opencode/agents/document.md +51 -51
  173. package/template/.opencode/agents/explorer.md +137 -137
  174. package/template/.opencode/agents/fixer.md +86 -85
  175. package/template/.opencode/agents/frontend.md +64 -64
  176. package/template/.opencode/agents/fullstack.md +90 -89
  177. package/template/.opencode/agents/initiator.md +74 -74
  178. package/template/.opencode/agents/logger.md +142 -142
  179. package/template/.opencode/agents/manual-tester.md +107 -0
  180. package/template/.opencode/agents/orchestrator.md +137 -133
  181. package/template/.opencode/agents/pm.md +199 -199
  182. package/template/.opencode/agents/qa.md +66 -65
  183. package/template/.opencode/agents/reliability.md +48 -48
  184. package/template/.opencode/agents/security.md +107 -107
  185. package/template/.opencode/agents/sysarch.md +301 -301
  186. package/template/.opencode/agents/tester.md +100 -100
  187. package/template/.opencode/agents/toolsmith.md +77 -77
  188. package/template/.opencode/agents/ux-designer.md +45 -45
  189. package/template/.opencode/commands/build-feature.md +21 -21
  190. package/template/.opencode/commands/build-prototype.md +32 -32
  191. package/template/.opencode/commands/daily-standup.md +16 -16
  192. package/template/.opencode/commands/deliver-feature.md +16 -16
  193. package/template/.opencode/commands/harden-release.md +21 -21
  194. package/template/.opencode/commands/manual-test.md +18 -0
  195. package/template/.opencode/commands/plan-feature.md +30 -30
  196. package/template/.opencode/commands/plan-project.md +25 -25
  197. package/template/.opencode/commands/release.md +18 -18
  198. package/template/.opencode/commands/security-audit.md +19 -19
  199. package/template/.opencode/commands/setup-workspace.md +21 -21
  200. package/template/.opencode/commands/start-fix.md +18 -18
  201. package/template/.opencode/commands/test-feature.md +17 -17
  202. package/template/.opencode/skills/penetration-testing/SKILL.md +94 -94
  203. package/template/.opencode/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -328
  204. package/template/.opencode/skills/penetration-testing/references/burp-suite-automation-script.md +135 -135
  205. package/template/.opencode/skills/penetration-testing/scripts/security-checklist.sh +30 -30
  206. package/template/.opencode/skills/ui-ux-pro-max/SKILL.md +658 -658
  207. package/template/.opencode/skills/ui-ux-pro-max/data/_sync_all.py +414 -414
  208. package/template/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
  209. package/template/.opencode/skills/ui-ux-pro-max/data/design.csv +1775 -1775
  210. package/template/.opencode/skills/ui-ux-pro-max/data/draft.csv +1778 -1778
  211. package/template/.opencode/skills/ui-ux-pro-max/data/icons.csv +105 -105
  212. package/template/.opencode/skills/ui-ux-pro-max/data/products.csv +162 -162
  213. package/template/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
  214. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
  215. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  216. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  217. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  218. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  219. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
  220. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  221. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  222. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  223. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  224. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  225. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  226. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  227. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
  228. package/template/.opencode/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  229. package/template/.opencode/skills/ui-ux-pro-max/data/typography.csv +74 -74
  230. package/template/.opencode/skills/ui-ux-pro-max/scripts/core.py +262 -262
  231. package/template/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +1148 -1148
  232. package/template/AGENT_PERSONAS.md +595 -551
  233. package/template/GIT_STRUCTURE_GUIDE.md +270 -270
  234. package/template/PROJECT_README.example.md +81 -81
  235. package/template/QUICK-START.md +134 -131
  236. package/template/README.md +1942 -1919
  237. package/template/_gitignore +138 -138
  238. package/template/agent/workflows/_shared/change-management.md +70 -70
  239. package/template/agent/workflows/_shared/git-branch-management.md +25 -25
  240. package/template/agent/workflows/_shared/phases.md +88 -88
  241. package/template/agent/workflows/_shared/state-management.md +87 -87
  242. package/template/agent/workflows/_shared/work-depth.md +46 -46
  243. package/template/agent/workflows/analyst.md +104 -104
  244. package/template/agent/workflows/backend.md +61 -61
  245. package/template/agent/workflows/data-architect.md +43 -43
  246. package/template/agent/workflows/devops.md +44 -44
  247. package/template/agent/workflows/discovery.md +51 -51
  248. package/template/agent/workflows/document.md +51 -51
  249. package/template/agent/workflows/explorer.md +133 -133
  250. package/template/agent/workflows/fixer.md +82 -81
  251. package/template/agent/workflows/frontend.md +60 -60
  252. package/template/agent/workflows/fullstack.md +86 -86
  253. package/template/agent/workflows/initiator.md +74 -74
  254. package/template/agent/workflows/logger.md +138 -138
  255. package/template/agent/workflows/manual-tester.md +103 -0
  256. package/template/agent/workflows/orchestrator.md +133 -133
  257. package/template/agent/workflows/pm.md +199 -199
  258. package/template/agent/workflows/qa.md +66 -66
  259. package/template/agent/workflows/reliability.md +48 -48
  260. package/template/agent/workflows/security.md +107 -107
  261. package/template/agent/workflows/sysarch.md +301 -301
  262. package/template/agent/workflows/tester.md +100 -100
  263. package/template/agent/workflows/toolsmith.md +77 -77
  264. package/template/agent/workflows/ux-designer.md +45 -45
  265. package/template/codes/.gitkeep +1 -1
  266. package/template/project_overview_example.md +54 -54
  267. package/template/schemas/adr.template.md +36 -36
  268. package/template/schemas/changelog.template.md +34 -34
  269. package/template/schemas/data-model.template.md +57 -57
  270. package/template/schemas/design-system.template.md +63 -63
  271. package/template/schemas/dev_log.template.md +20 -20
  272. package/template/schemas/product-ci.template.yml +50 -50
  273. package/template/schemas/requirements.template.md +64 -64
  274. package/template/schemas/security-standards.template.md +58 -58
  275. package/template/schemas/security_report.template.md +89 -89
  276. package/template/schemas/specification.template.md +71 -71
  277. package/template/schemas/style_guide.template.md +29 -29
  278. package/template/schemas/task_list.template.md +28 -28
  279. package/template/schemas/workspace-manifest.template.json +24 -24
  280. package/template/schemas/workspace-registry.json +95 -95
  281. package/template/skills-lock.json +11 -11
  282. package/template/specifications/.gitkeep +3 -3
  283. package/template/state/knowledge_base/.gitkeep +1 -1
  284. package/template/state/knowledge_base/requirements/.gitkeep +1 -1
  285. package/template/tests/.gitkeep +1 -1
  286. package/template/.claude/settings.local.json +0 -44
@@ -1,270 +1,270 @@
1
- # Git Repository Structure Guide
2
-
3
- ## 📁 Folder Structure Strategy
4
-
5
- Project ini menggunakan strategi **"empty folder tracking"** dengan `.gitkeep` files.
6
-
7
- ### Concept:
8
- - Git tidak bisa track folder kosong
9
- - Solusi: Tambahkan file `.gitkeep` di folder yang ingin di-track
10
- - File lain di folder tersebut tetap di-ignore
11
-
12
- ---
13
-
14
- ## 🎯 Current Configuration
15
-
16
- ### Folders with .gitkeep:
17
-
18
- ```
19
- vas_vibe/
20
- ├── codes/.gitkeep ✅ Folder tracked, contents ignored
21
- ├── specifications/.gitkeep ✅ Folder tracked, contents ignored
22
- └── tests/.gitkeep ✅ Folder tracked, contents ignored
23
- ```
24
-
25
- ### .gitignore Rules:
26
-
27
- ```gitignore
28
- # Ignore all files in folder
29
- codes/*
30
- specifications/*
31
- tests/*
32
-
33
- # But keep .gitkeep files
34
- !codes/.gitkeep
35
- !specifications/.gitkeep
36
- !tests/.gitkeep
37
- ```
38
-
39
- ---
40
-
41
- ## 🔍 How It Works
42
-
43
- ### Pattern Explanation:
44
-
45
- 1. **`codes/*`** - Ignore semua file di dalam folder `codes/`
46
- 2. **`!codes/.gitkeep`** - Tapi **jangan** ignore file `.gitkeep`
47
-
48
- Simbol `!` adalah **negation pattern** yang membatalkan ignore rule sebelumnya.
49
-
50
- ---
51
-
52
- ## ✅ Verification
53
-
54
- ### Check what gets tracked:
55
-
56
- ```bash
57
- # See all tracked files
58
- git add .
59
- git status
60
-
61
- # Output should show:
62
- # .gitignore
63
- # codes/.gitkeep
64
- # specifications/.gitkeep
65
- # tests/.gitkeep
66
- # README.md
67
- ```
68
-
69
- ### Check what gets ignored:
70
-
71
- ```bash
72
- # See ignored files
73
- git status --ignored
74
-
75
- # Output should show:
76
- # codes/ (all files except .gitkeep)
77
- # specifications/ (all files except .gitkeep)
78
- # tests/ (all files except .gitkeep)
79
- ```
80
-
81
- ---
82
-
83
- ## 📊 Result
84
-
85
- ### When someone clones the repository:
86
-
87
- ```bash
88
- git clone <repository-url>
89
- cd vas_vibe
90
- ls -la
91
- ```
92
-
93
- **They will get:**
94
- ```
95
- vas_vibe/
96
- ├── .gitignore ✅ Present
97
- ├── README.md ✅ Present
98
- ├── codes/ ✅ Folder exists (empty except .gitkeep)
99
- │ └── .gitkeep ✅ Present
100
- ├── specifications/ ✅ Folder exists (empty except .gitkeep)
101
- │ └── .gitkeep ✅ Present
102
- └── tests/ ✅ Folder exists (empty except .gitkeep)
103
- └── .gitkeep ✅ Present
104
- ```
105
-
106
- **They will NOT get:**
107
- - ❌ Files in `codes/` (except `.gitkeep`)
108
- - ❌ Files in `specifications/` (except `.gitkeep`)
109
- - ❌ Files in `tests/` (except `.gitkeep`)
110
- - ❌ `project_overview.md`
111
- - ❌ `development_log.md`
112
-
113
- ---
114
-
115
- ## 🎯 Use Cases
116
-
117
- ### Scenario 1: Fresh Clone
118
- ```bash
119
- git clone <repo>
120
- cd vas_vibe
121
- # Folders exist but are empty
122
- # Developer can start adding code to codes/ folder
123
- ```
124
-
125
- ### Scenario 2: Working with Code
126
- ```bash
127
- cd codes
128
- npm install
129
- npm run dev
130
- # All development files stay local
131
- # .gitkeep ensures folder structure is preserved
132
- ```
133
-
134
- ### Scenario 3: Team Collaboration
135
- ```bash
136
- # Each developer has:
137
- # - Same folder structure (thanks to .gitkeep)
138
- # - Own local code (not tracked)
139
- # - Shared documentation (README, etc.)
140
- ```
141
-
142
- ---
143
-
144
- ## 💡 Advanced Patterns
145
-
146
- ### If you want to track SOME files in codes:
147
-
148
- ```gitignore
149
- # In .gitignore:
150
- codes/*
151
- !codes/.gitkeep
152
- !codes/important-config.json
153
- !codes/README.md
154
- ```
155
-
156
- ### If you want to track a subfolder:
157
-
158
- ```gitignore
159
- # In .gitignore:
160
- codes/*
161
- !codes/.gitkeep
162
- !codes/shared/
163
- codes/shared/*
164
- !codes/shared/.gitkeep
165
- ```
166
-
167
- ---
168
-
169
- ## 🔧 Common Commands
170
-
171
- ### Add everything (respecting .gitignore):
172
- ```bash
173
- git add .
174
- ```
175
-
176
- ### Check what will be committed:
177
- ```bash
178
- git status
179
- ```
180
-
181
- ### See ignored files:
182
- ```bash
183
- git status --ignored
184
- ```
185
-
186
- ### Force add an ignored file (if needed):
187
- ```bash
188
- git add -f codes/special-file.ts
189
- ```
190
-
191
- ### Remove a file from tracking (keep local):
192
- ```bash
193
- git rm --cached codes/some-file.ts
194
- ```
195
-
196
- ---
197
-
198
- ## 📝 Benefits
199
-
200
- ### ✅ Pros:
201
- 1. **Folder structure preserved** - New developers get correct structure
202
- 2. **No accidental commits** - Code stays local
203
- 3. **Clean repository** - Only essential files tracked
204
- 4. **Easy setup** - Clone and start coding
205
- 5. **Flexible** - Can add exceptions with `!` pattern
206
-
207
- ### ⚠️ Considerations:
208
- 1. Must document which files go in which folder
209
- 2. Developers need to know structure
210
- 3. `.gitkeep` files add minimal overhead
211
-
212
- ---
213
-
214
- ## 🎓 Best Practices
215
-
216
- ### DO:
217
- - ✅ Keep `.gitkeep` files simple (just a comment)
218
- - ✅ Document folder purpose in `.gitkeep`
219
- - ✅ Use consistent naming (`.gitkeep` is convention)
220
- - ✅ Add README.md in root to explain structure
221
-
222
- ### DON'T:
223
- - ❌ Put important code in `.gitkeep`
224
- - ❌ Forget to add `!` negation in `.gitignore`
225
- - ❌ Delete `.gitkeep` files
226
- - ❌ Track both folder contents AND use `.gitkeep`
227
-
228
- ---
229
-
230
- ## 📚 References
231
-
232
- ### Git Ignore Patterns:
233
- - `*` - Match all files
234
- - `!` - Negate previous pattern
235
- - `*/` - Match directories only
236
- - `**` - Match nested directories
237
-
238
- ### Examples:
239
- ```gitignore
240
- # Ignore all .log files
241
- *.log
242
-
243
- # But keep important.log
244
- !important.log
245
-
246
- # Ignore all in folder
247
- folder/*
248
-
249
- # But keep .gitkeep
250
- !folder/.gitkeep
251
- ```
252
-
253
- ---
254
-
255
- ## ✅ Current Status
256
-
257
- ```
258
- Repository Structure: ✅ Configured
259
- .gitkeep Files: ✅ Created (3 files)
260
- .gitignore Rules: ✅ Updated with negation
261
- Folder Tracking: ✅ Active
262
- Contents Ignored: ✅ Working
263
- ```
264
-
265
- **Ready to commit and push!** 🚀
266
-
267
- ---
268
-
269
- **Last Updated:** June 2026
270
- **Status:** ✅ Complete
1
+ # Git Repository Structure Guide
2
+
3
+ ## 📁 Folder Structure Strategy
4
+
5
+ Project ini menggunakan strategi **"empty folder tracking"** dengan `.gitkeep` files.
6
+
7
+ ### Concept:
8
+ - Git tidak bisa track folder kosong
9
+ - Solusi: Tambahkan file `.gitkeep` di folder yang ingin di-track
10
+ - File lain di folder tersebut tetap di-ignore
11
+
12
+ ---
13
+
14
+ ## 🎯 Current Configuration
15
+
16
+ ### Folders with .gitkeep:
17
+
18
+ ```
19
+ vas_vibe/
20
+ ├── codes/.gitkeep ✅ Folder tracked, contents ignored
21
+ ├── specifications/.gitkeep ✅ Folder tracked, contents ignored
22
+ └── tests/.gitkeep ✅ Folder tracked, contents ignored
23
+ ```
24
+
25
+ ### .gitignore Rules:
26
+
27
+ ```gitignore
28
+ # Ignore all files in folder
29
+ codes/*
30
+ specifications/*
31
+ tests/*
32
+
33
+ # But keep .gitkeep files
34
+ !codes/.gitkeep
35
+ !specifications/.gitkeep
36
+ !tests/.gitkeep
37
+ ```
38
+
39
+ ---
40
+
41
+ ## 🔍 How It Works
42
+
43
+ ### Pattern Explanation:
44
+
45
+ 1. **`codes/*`** - Ignore semua file di dalam folder `codes/`
46
+ 2. **`!codes/.gitkeep`** - Tapi **jangan** ignore file `.gitkeep`
47
+
48
+ Simbol `!` adalah **negation pattern** yang membatalkan ignore rule sebelumnya.
49
+
50
+ ---
51
+
52
+ ## ✅ Verification
53
+
54
+ ### Check what gets tracked:
55
+
56
+ ```bash
57
+ # See all tracked files
58
+ git add .
59
+ git status
60
+
61
+ # Output should show:
62
+ # .gitignore
63
+ # codes/.gitkeep
64
+ # specifications/.gitkeep
65
+ # tests/.gitkeep
66
+ # README.md
67
+ ```
68
+
69
+ ### Check what gets ignored:
70
+
71
+ ```bash
72
+ # See ignored files
73
+ git status --ignored
74
+
75
+ # Output should show:
76
+ # codes/ (all files except .gitkeep)
77
+ # specifications/ (all files except .gitkeep)
78
+ # tests/ (all files except .gitkeep)
79
+ ```
80
+
81
+ ---
82
+
83
+ ## 📊 Result
84
+
85
+ ### When someone clones the repository:
86
+
87
+ ```bash
88
+ git clone <repository-url>
89
+ cd vas_vibe
90
+ ls -la
91
+ ```
92
+
93
+ **They will get:**
94
+ ```
95
+ vas_vibe/
96
+ ├── .gitignore ✅ Present
97
+ ├── README.md ✅ Present
98
+ ├── codes/ ✅ Folder exists (empty except .gitkeep)
99
+ │ └── .gitkeep ✅ Present
100
+ ├── specifications/ ✅ Folder exists (empty except .gitkeep)
101
+ │ └── .gitkeep ✅ Present
102
+ └── tests/ ✅ Folder exists (empty except .gitkeep)
103
+ └── .gitkeep ✅ Present
104
+ ```
105
+
106
+ **They will NOT get:**
107
+ - ❌ Files in `codes/` (except `.gitkeep`)
108
+ - ❌ Files in `specifications/` (except `.gitkeep`)
109
+ - ❌ Files in `tests/` (except `.gitkeep`)
110
+ - ❌ `project_overview.md`
111
+ - ❌ `development_log.md`
112
+
113
+ ---
114
+
115
+ ## 🎯 Use Cases
116
+
117
+ ### Scenario 1: Fresh Clone
118
+ ```bash
119
+ git clone <repo>
120
+ cd vas_vibe
121
+ # Folders exist but are empty
122
+ # Developer can start adding code to codes/ folder
123
+ ```
124
+
125
+ ### Scenario 2: Working with Code
126
+ ```bash
127
+ cd codes
128
+ npm install
129
+ npm run dev
130
+ # All development files stay local
131
+ # .gitkeep ensures folder structure is preserved
132
+ ```
133
+
134
+ ### Scenario 3: Team Collaboration
135
+ ```bash
136
+ # Each developer has:
137
+ # - Same folder structure (thanks to .gitkeep)
138
+ # - Own local code (not tracked)
139
+ # - Shared documentation (README, etc.)
140
+ ```
141
+
142
+ ---
143
+
144
+ ## 💡 Advanced Patterns
145
+
146
+ ### If you want to track SOME files in codes:
147
+
148
+ ```gitignore
149
+ # In .gitignore:
150
+ codes/*
151
+ !codes/.gitkeep
152
+ !codes/important-config.json
153
+ !codes/README.md
154
+ ```
155
+
156
+ ### If you want to track a subfolder:
157
+
158
+ ```gitignore
159
+ # In .gitignore:
160
+ codes/*
161
+ !codes/.gitkeep
162
+ !codes/shared/
163
+ codes/shared/*
164
+ !codes/shared/.gitkeep
165
+ ```
166
+
167
+ ---
168
+
169
+ ## 🔧 Common Commands
170
+
171
+ ### Add everything (respecting .gitignore):
172
+ ```bash
173
+ git add .
174
+ ```
175
+
176
+ ### Check what will be committed:
177
+ ```bash
178
+ git status
179
+ ```
180
+
181
+ ### See ignored files:
182
+ ```bash
183
+ git status --ignored
184
+ ```
185
+
186
+ ### Force add an ignored file (if needed):
187
+ ```bash
188
+ git add -f codes/special-file.ts
189
+ ```
190
+
191
+ ### Remove a file from tracking (keep local):
192
+ ```bash
193
+ git rm --cached codes/some-file.ts
194
+ ```
195
+
196
+ ---
197
+
198
+ ## 📝 Benefits
199
+
200
+ ### ✅ Pros:
201
+ 1. **Folder structure preserved** - New developers get correct structure
202
+ 2. **No accidental commits** - Code stays local
203
+ 3. **Clean repository** - Only essential files tracked
204
+ 4. **Easy setup** - Clone and start coding
205
+ 5. **Flexible** - Can add exceptions with `!` pattern
206
+
207
+ ### ⚠️ Considerations:
208
+ 1. Must document which files go in which folder
209
+ 2. Developers need to know structure
210
+ 3. `.gitkeep` files add minimal overhead
211
+
212
+ ---
213
+
214
+ ## 🎓 Best Practices
215
+
216
+ ### DO:
217
+ - ✅ Keep `.gitkeep` files simple (just a comment)
218
+ - ✅ Document folder purpose in `.gitkeep`
219
+ - ✅ Use consistent naming (`.gitkeep` is convention)
220
+ - ✅ Add README.md in root to explain structure
221
+
222
+ ### DON'T:
223
+ - ❌ Put important code in `.gitkeep`
224
+ - ❌ Forget to add `!` negation in `.gitignore`
225
+ - ❌ Delete `.gitkeep` files
226
+ - ❌ Track both folder contents AND use `.gitkeep`
227
+
228
+ ---
229
+
230
+ ## 📚 References
231
+
232
+ ### Git Ignore Patterns:
233
+ - `*` - Match all files
234
+ - `!` - Negate previous pattern
235
+ - `*/` - Match directories only
236
+ - `**` - Match nested directories
237
+
238
+ ### Examples:
239
+ ```gitignore
240
+ # Ignore all .log files
241
+ *.log
242
+
243
+ # But keep important.log
244
+ !important.log
245
+
246
+ # Ignore all in folder
247
+ folder/*
248
+
249
+ # But keep .gitkeep
250
+ !folder/.gitkeep
251
+ ```
252
+
253
+ ---
254
+
255
+ ## ✅ Current Status
256
+
257
+ ```
258
+ Repository Structure: ✅ Configured
259
+ .gitkeep Files: ✅ Created (3 files)
260
+ .gitignore Rules: ✅ Updated with negation
261
+ Folder Tracking: ✅ Active
262
+ Contents Ignored: ✅ Working
263
+ ```
264
+
265
+ **Ready to commit and push!** 🚀
266
+
267
+ ---
268
+
269
+ **Last Updated:** June 2026
270
+ **Status:** ✅ Complete