create-vasvibe 2.3.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +170 -167
- package/bin/cli.mjs +9 -9
- package/package.json +44 -44
- package/src/git.mjs +47 -47
- package/src/index.mjs +228 -228
- package/src/prompts.mjs +113 -113
- package/src/scaffold.mjs +74 -74
- package/src/upgrade.mjs +121 -121
- package/src/utils.mjs +91 -91
- package/template/.agents/agents/analyst/agent.json +43 -43
- package/template/.agents/agents/backend/agent.json +44 -44
- package/template/.agents/agents/data-architect/agent.json +43 -43
- package/template/.agents/agents/devops/agent.json +44 -44
- package/template/.agents/agents/discovery/agent.json +43 -43
- package/template/.agents/agents/document/agent.json +43 -43
- package/template/.agents/agents/fixer/agent.json +44 -44
- package/template/.agents/agents/frontend/agent.json +44 -44
- package/template/.agents/agents/fullstack/agent.json +44 -44
- package/template/.agents/agents/initiator/agent.json +41 -41
- package/template/.agents/agents/manual-tester/agent.json +44 -0
- package/template/.agents/agents/orchestrator/agent.json +44 -44
- package/template/.agents/agents/pm/agent.json +42 -42
- package/template/.agents/agents/qa/agent.json +44 -44
- package/template/.agents/agents/reliability/agent.json +44 -44
- package/template/.agents/agents/security/agent.json +44 -44
- package/template/.agents/agents/sysarch/agent.json +44 -44
- package/template/.agents/agents/tester/agent.json +44 -44
- package/template/.agents/agents/toolsmith/agent.json +44 -44
- package/template/.agents/agents/ux-designer/agent.json +43 -43
- package/template/.agents/skills/find-skills/SKILL.md +142 -142
- package/template/.agents/skills/fullstack/SKILL.md +89 -89
- package/template/.agents/skills/penetration-testing/SKILL.md +94 -94
- package/template/.agents/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -328
- package/template/.agents/skills/penetration-testing/references/burp-suite-automation-script.md +135 -135
- package/template/.agents/skills/penetration-testing/scripts/security-checklist.sh +30 -30
- package/template/.agents/skills/pm/SKILL.md +170 -170
- package/template/.agents/skills/ui-ux-pro-max/SKILL.md +658 -658
- package/template/.agents/skills/ui-ux-pro-max/data/_sync_all.py +414 -414
- package/template/.agents/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
- package/template/.agents/skills/ui-ux-pro-max/data/design.csv +1775 -1775
- package/template/.agents/skills/ui-ux-pro-max/data/draft.csv +1778 -1778
- package/template/.agents/skills/ui-ux-pro-max/data/icons.csv +105 -105
- package/template/.agents/skills/ui-ux-pro-max/data/products.csv +162 -162
- package/template/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
- package/template/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/template/.agents/skills/ui-ux-pro-max/data/typography.csv +74 -74
- package/template/.agents/skills/ui-ux-pro-max/scripts/core.py +262 -262
- package/template/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1148 -1148
- package/template/.agents/workflows/build-feature.md +21 -21
- package/template/.agents/workflows/daily-standup.md +16 -16
- package/template/.agents/workflows/deliver-feature.md +16 -16
- package/template/.agents/workflows/harden-release.md +21 -21
- package/template/.agents/workflows/plan-project.md +25 -25
- package/template/.agents/workflows/release.md +18 -18
- package/template/.agents/workflows/security-audit.md +19 -19
- package/template/.agents/workflows/setup-workspace.md +21 -21
- package/template/.agents/workflows/start-fix.md +17 -17
- package/template/.agents/workflows/test-feature.md +17 -17
- package/template/.claude/agents/analyst.md +75 -75
- package/template/.claude/agents/backend.md +61 -61
- package/template/.claude/agents/data-architect.md +43 -43
- package/template/.claude/agents/devops.md +44 -43
- package/template/.claude/agents/discovery.md +51 -51
- package/template/.claude/agents/document.md +51 -51
- package/template/.claude/agents/fixer.md +83 -82
- package/template/.claude/agents/frontend.md +58 -58
- package/template/.claude/agents/fullstack.md +84 -83
- package/template/.claude/agents/initiator.md +74 -74
- package/template/.claude/agents/manual-tester.md +108 -0
- package/template/.claude/agents/orchestrator.md +114 -113
- package/template/.claude/agents/pm.md +199 -199
- package/template/.claude/agents/qa.md +66 -65
- package/template/.claude/agents/reliability.md +48 -47
- package/template/.claude/agents/security.md +107 -106
- package/template/.claude/agents/sysarch.md +301 -301
- package/template/.claude/agents/tester.md +100 -100
- package/template/.claude/agents/toolsmith.md +77 -76
- package/template/.claude/agents/ux-designer.md +45 -45
- package/template/.claude/commands/build-feature.md +22 -22
- package/template/.claude/commands/daily-standup.md +16 -16
- package/template/.claude/commands/deliver-feature.md +17 -17
- package/template/.claude/commands/harden-release.md +22 -22
- package/template/.claude/commands/manual-test.md +19 -0
- package/template/.claude/commands/plan-project.md +26 -26
- package/template/.claude/commands/release.md +19 -19
- package/template/.claude/commands/security-audit.md +20 -20
- package/template/.claude/commands/setup-workspace.md +22 -22
- package/template/.claude/commands/start-fix.md +18 -18
- package/template/.claude/commands/test-feature.md +18 -18
- package/template/.claude/skills/find-skills +1 -0
- package/template/.claude/skills/penetration-testing/SKILL.md +94 -94
- package/template/.claude/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -328
- package/template/.claude/skills/penetration-testing/references/burp-suite-automation-script.md +135 -135
- package/template/.claude/skills/penetration-testing/scripts/security-checklist.sh +30 -30
- package/template/.claude/skills/ui-ux-pro-max/SKILL.md +658 -658
- package/template/.claude/skills/ui-ux-pro-max/data/_sync_all.py +414 -414
- package/template/.claude/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
- package/template/.claude/skills/ui-ux-pro-max/data/design.csv +1775 -1775
- package/template/.claude/skills/ui-ux-pro-max/data/draft.csv +1778 -1778
- package/template/.claude/skills/ui-ux-pro-max/data/icons.csv +105 -105
- package/template/.claude/skills/ui-ux-pro-max/data/products.csv +162 -162
- package/template/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
- package/template/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/template/.claude/skills/ui-ux-pro-max/data/typography.csv +74 -74
- package/template/.claude/skills/ui-ux-pro-max/scripts/core.py +262 -262
- package/template/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1148 -1148
- package/template/.github/prompts/analyst.prompt.md +57 -57
- package/template/.github/prompts/backend.prompt.md +44 -44
- package/template/.github/prompts/data-architect.prompt.md +38 -38
- package/template/.github/prompts/devops.prompt.md +32 -32
- package/template/.github/prompts/discovery.prompt.md +39 -39
- package/template/.github/prompts/document.prompt.md +14 -14
- package/template/.github/prompts/fixer.prompt.md +90 -89
- package/template/.github/prompts/frontend.prompt.md +43 -43
- package/template/.github/prompts/fullstack.prompt.md +91 -91
- package/template/.github/prompts/initiator.prompt.md +55 -55
- package/template/.github/prompts/manual-tester.prompt.md +103 -0
- package/template/.github/prompts/orchestrator.prompt.md +75 -75
- package/template/.github/prompts/pm.prompt.md +186 -186
- package/template/.github/prompts/qa.prompt.md +57 -57
- package/template/.github/prompts/reliability.prompt.md +44 -44
- package/template/.github/prompts/security.prompt.md +41 -41
- package/template/.github/prompts/sysarch.prompt.md +351 -351
- package/template/.github/prompts/tester.prompt.md +107 -107
- package/template/.github/prompts/toolsmith.prompt.md +46 -46
- package/template/.github/prompts/ux-designer.prompt.md +41 -41
- package/template/.opencode/agents/analyst.md +75 -75
- package/template/.opencode/agents/backend.md +61 -61
- package/template/.opencode/agents/data-architect.md +43 -43
- package/template/.opencode/agents/devops.md +44 -41
- package/template/.opencode/agents/discovery.md +51 -51
- package/template/.opencode/agents/document.md +51 -51
- package/template/.opencode/agents/fixer.md +83 -82
- package/template/.opencode/agents/frontend.md +58 -58
- package/template/.opencode/agents/fullstack.md +84 -83
- package/template/.opencode/agents/initiator.md +74 -74
- package/template/.opencode/agents/manual-tester.md +107 -0
- package/template/.opencode/agents/orchestrator.md +116 -119
- package/template/.opencode/agents/pm.md +199 -199
- package/template/.opencode/agents/qa.md +66 -65
- package/template/.opencode/agents/reliability.md +48 -46
- package/template/.opencode/agents/security.md +107 -105
- package/template/.opencode/agents/sysarch.md +301 -301
- package/template/.opencode/agents/tester.md +100 -100
- package/template/.opencode/agents/toolsmith.md +77 -77
- package/template/.opencode/agents/ux-designer.md +45 -45
- package/template/.opencode/commands/build-feature.md +21 -21
- package/template/.opencode/commands/daily-standup.md +16 -16
- package/template/.opencode/commands/deliver-feature.md +16 -16
- package/template/.opencode/commands/harden-release.md +21 -21
- package/template/.opencode/commands/manual-test.md +18 -0
- package/template/.opencode/commands/plan-project.md +25 -25
- package/template/.opencode/commands/release.md +18 -18
- package/template/.opencode/commands/security-audit.md +19 -19
- package/template/.opencode/commands/setup-workspace.md +21 -21
- package/template/.opencode/commands/start-fix.md +17 -17
- package/template/.opencode/commands/test-feature.md +17 -17
- package/template/.opencode/skills/penetration-testing/SKILL.md +94 -94
- package/template/.opencode/skills/penetration-testing/references/automated-penetration-testing-framework.md +328 -328
- package/template/.opencode/skills/penetration-testing/references/burp-suite-automation-script.md +135 -135
- package/template/.opencode/skills/penetration-testing/scripts/security-checklist.sh +30 -30
- package/template/.opencode/skills/ui-ux-pro-max/SKILL.md +658 -658
- package/template/.opencode/skills/ui-ux-pro-max/data/_sync_all.py +414 -414
- package/template/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
- package/template/.opencode/skills/ui-ux-pro-max/data/design.csv +1775 -1775
- package/template/.opencode/skills/ui-ux-pro-max/data/draft.csv +1778 -1778
- package/template/.opencode/skills/ui-ux-pro-max/data/icons.csv +105 -105
- package/template/.opencode/skills/ui-ux-pro-max/data/products.csv +162 -162
- package/template/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
- package/template/.opencode/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/template/.opencode/skills/ui-ux-pro-max/data/typography.csv +74 -74
- package/template/.opencode/skills/ui-ux-pro-max/scripts/core.py +262 -262
- package/template/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +1148 -1148
- package/template/AGENT_PERSONAS.md +595 -551
- package/template/GIT_STRUCTURE_GUIDE.md +270 -270
- package/template/PROJECT_README.example.md +81 -81
- package/template/QUICK-START.md +134 -131
- package/template/README.md +1942 -1919
- package/template/_gitignore +141 -141
- package/template/agent/workflows/_shared/change-management.md +70 -70
- package/template/agent/workflows/_shared/git-branch-management.md +25 -25
- package/template/agent/workflows/_shared/phases.md +88 -88
- package/template/agent/workflows/_shared/state-management.md +87 -87
- package/template/agent/workflows/_shared/work-depth.md +46 -46
- package/template/agent/workflows/analyst.md +75 -75
- package/template/agent/workflows/backend.md +61 -61
- package/template/agent/workflows/data-architect.md +43 -43
- package/template/agent/workflows/devops.md +44 -44
- package/template/agent/workflows/discovery.md +51 -51
- package/template/agent/workflows/document.md +51 -51
- package/template/agent/workflows/fixer.md +83 -82
- package/template/agent/workflows/frontend.md +58 -58
- package/template/agent/workflows/fullstack.md +84 -84
- package/template/agent/workflows/initiator.md +74 -74
- package/template/agent/workflows/manual-tester.md +103 -0
- package/template/agent/workflows/orchestrator.md +114 -114
- package/template/agent/workflows/pm.md +199 -199
- package/template/agent/workflows/qa.md +66 -66
- package/template/agent/workflows/reliability.md +48 -48
- package/template/agent/workflows/security.md +107 -107
- package/template/agent/workflows/sysarch.md +301 -301
- package/template/agent/workflows/tester.md +100 -100
- package/template/agent/workflows/toolsmith.md +77 -77
- package/template/agent/workflows/ux-designer.md +45 -45
- package/template/codes/.gitkeep +1 -1
- package/template/project_overview_example.md +54 -54
- package/template/schemas/adr.template.md +36 -36
- package/template/schemas/changelog.template.md +34 -34
- package/template/schemas/data-model.template.md +57 -57
- package/template/schemas/design-system.template.md +63 -63
- package/template/schemas/dev_log.template.md +20 -20
- package/template/schemas/product-ci.template.yml +50 -50
- package/template/schemas/requirements.template.md +64 -64
- package/template/schemas/security-standards.template.md +58 -58
- package/template/schemas/security_report.template.md +89 -89
- package/template/schemas/specification.template.md +57 -57
- package/template/schemas/style_guide.template.md +29 -29
- package/template/schemas/task_list.template.md +28 -28
- package/template/schemas/workspace-manifest.template.json +24 -24
- package/template/schemas/workspace-registry.json +94 -94
- package/template/skills-lock.json +11 -11
- package/template/specifications/.gitkeep +1 -1
- package/template/state/knowledge_base/.gitkeep +1 -1
- package/template/state/knowledge_base/requirements/.gitkeep +1 -1
- package/template/tests/.gitkeep +1 -1
- package/template/.agents/workflows/explorer.md +0 -78
- package/template/.agents/workflows/logger.md +0 -117
- package/template/.claude/settings.local.json +0 -35
- package/template/.claude/skills/find-skills/SKILL.md +0 -142
- package/template/.opencode/agents/explorer.md +0 -138
- package/template/.opencode/agents/logger.md +0 -143
|
@@ -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
|