project-architect
1
总安装量
1
周安装量
#53585
全站排名
安装命令
npx skills add https://github.com/monicajeon28/gmcruise --skill project-architect
Agent 安装分布
amp
1
openclaw
1
opencode
1
kimi-cli
1
codex
1
github-copilot
1
Skill 文档
Project Architect Skill v1.0
íë¡ì í¸ ì¤ê³ ë§ì¤í° – ììë¶í° íì¥ ê°ë¥í êµ¬ì¡°ë¡ ì¤ê³
íµì¬ ì² í
Core_Philosophy:
ìì¹: "ì§ ì§ê¸° ì ì ì¤ê³ë 먼ì "
목í: "ë¹ê°ë°ìë íë¡ ê°ë°ì ìì¤ì êµ¬ì¡°ë¡ ìì"
Anti_Patterns_Prevention:
- â 모ë ì½ëê° í íì¼ì (God File)
- â í´ë ìì´ ë£¨í¸ì íì¼ ëì´
- â ë¹ì¦ëì¤ ë¡ì§ê³¼ UI ì½ë í¼ì¬
- â ì¤ì ê° íëì½ë©
- â í
ì¤í¸ ìë 구조
ìë ë°ë ì¡°ê±´
Auto_Trigger_Conditions:
Keywords_KO:
- "ì íë¡ì í¸", "íë¡ì í¸ ìì"
- "í´ë 구조", "ëë í 리 구조"
- "ìí¤í
ì² ì¤ê³", "구조 ì¤ê³"
- "íë¡ì í¸ ì¸í
", "ì´ê¸° ì¤ì "
- "ë¼ë ì¡ìì¤", "구조 ì¡ìì¤"
- "ë³´ì¼ë¬íë ì´í¸", "ì¤ìºí´ë©"
Keywords_EN:
- "new project", "project setup"
- "folder structure", "directory structure"
- "architecture design", "scaffolding"
- "boilerplate", "project skeleton"
File_Events:
- "package.json ìë ë¹ ëë í 리 ì§ì
"
- "ì ê· íë¡ì í¸ ìì± ìì²"
ì íì 문ì ë¡ë ì ëµ
Document_Loading_Strategy:
Always_Load:
- "core/universal-principles.md" # ê³µíµ ìì¹
- "core/layer-separation.md" # ë ì´ì´ ë¶ë¦¬
Project_Type_Load:
Web_Frontend: "templates/frontend.md"
Web_Backend: "templates/backend.md"
Fullstack: "templates/fullstack.md"
API_Server: "templates/api-server.md"
CLI_Tool: "templates/cli.md"
Library: "templates/library.md"
Monorepo: "templates/monorepo.md"
Framework_Specific_Load:
Next.js: "frameworks/nextjs.md"
React: "frameworks/react.md"
Vue: "frameworks/vue.md"
NestJS: "frameworks/nestjs.md"
FastAPI: "frameworks/fastapi.md"
Express: "frameworks/express.md"
Django: "frameworks/django.md"
íµì¬ ìì¹
1. ë ì´ì´ ë¶ë¦¬ (Layer Separation)
Layer_Architecture:
Presentation_Layer:
ìí : "ì¬ì©ì ì¸í°íì´ì¤"
í¬í¨: "pages, components, views, layouts"
ê·ì¹: "ë¹ì¦ëì¤ ë¡ì§ ê¸ì§, UIë§"
Business_Layer:
ìí : "ë¹ì¦ëì¤ ë¡ì§"
í¬í¨: "services, usecases, domain"
ê·ì¹: "UI/DB ì§ì ì ê·¼ ê¸ì§"
Data_Layer:
ìí : "ë°ì´í° ì ê·¼"
í¬í¨: "repositories, api, database"
ê·ì¹: "ë°ì´í° ìì¤ ì¶ìí"
Shared_Layer:
ìí : "ê³µì ì í¸ë¦¬í°"
í¬í¨: "utils, helpers, constants, types"
ê·ì¹: "ìì¡´ì± ìµìí"
2. 기ë¥ë³ 모ëí (Feature-Based Modularity)
Module_Structure:
ë°©ì: "기ë¥ë³ë¡ ê´ë ¨ íì¼ ê·¸ë£¹í"
Before_Bad:
components/
Button.tsx
UserCard.tsx
ProductCard.tsx
hooks/
useUser.ts
useProduct.ts
services/
userService.ts
productService.ts
After_Good:
features/
user/
components/UserCard.tsx
hooks/useUser.ts
services/userService.ts
types/user.types.ts
index.ts # Public exports
product/
components/ProductCard.tsx
hooks/useProduct.ts
services/productService.ts
types/product.types.ts
index.ts
shared/
components/Button.tsx
utils/helpers.ts
3. ì¤ì ì¸ë¶í (Configuration Externalization)
Config_Management:
íê²½ë³_ë¶ë¦¬:
.env.local: "ë¡ì»¬ ê°ë° (git 무ì)"
.env.development: "ê°ë° íê²½"
.env.production: "íë¡ëì
íê²½"
.env.example: "í
í릿 (git í¬í¨)"
ì¤ì _구조:
config/
index.ts # ì¤ì ì§ì
ì
database.ts # DB ì¤ì
auth.ts # ì¸ì¦ ì¤ì
api.ts # API ì¤ì
constants.ts # ìì
ì ë_ê¸ì§:
- â ì½ëì API í¤ ì§ì ì
ë ¥
- â íëì½ë©ë URL
- â ë§¤ì§ ëë² (ì미 ìë ì«ì)
4. ëª íí ì§ì ì (Clear Entry Points)
Entry_Points:
ê·ì¹: "ê° ëª¨ëì index.tsë¡ public API ë
¸ì¶"
ìì:
features/user/index.ts: |
// Public exports only
export { UserCard } from './components/UserCard';
export { useUser } from './hooks/useUser';
export type { User } from './types/user.types';
// Internal implementations are NOT exported
Import_ê·ì¹:
Good: "import { UserCard } from '@/features/user';"
Bad: "import { UserCard } from '@/features/user/components/UserCard';"
íë¡ì í¸ íì ë³ êµ¬ì¡° í í릿
Next.js Fullstack (ê¶ì¥)
my-project/
âââ src/
â âââ app/ # Next.js App Router
â â âââ (auth)/ # ì¸ì¦ íì íì´ì§ 그룹
â â âââ (public)/ # ê³µê° íì´ì§ 그룹
â â âââ api/ # API Routes
â â âââ layout.tsx # Root Layout
â â âââ page.tsx # Home Page
â â
â âââ features/ # 기ë¥ë³ 모ë
â â âââ auth/
â â â âââ components/
â â â âââ hooks/
â â â âââ services/
â â â âââ types/
â â â âââ index.ts
â â âââ [feature-name]/
â â
â âââ shared/ # ê³µì 모ë
â â âââ components/ # ê³µíµ UI ì»´í¬ëí¸
â â â âââ ui/ # 기본 UI (Button, Input)
â â â âââ layout/ # ë ì´ìì ì»´í¬ëí¸
â â âââ hooks/ # ê³µíµ í
â â âââ utils/ # ì í¸ë¦¬í° í¨ì
â â âââ types/ # ê³µíµ íì
â â âââ constants/ # ìì
â â
â âââ services/ # ì¸ë¶ ìë¹ì¤ ì°ë
â â âââ api/ # API í´ë¼ì´ì¸í¸
â â âââ database/ # DB ì°ê²°
â â âââ external/ # ì¸ë¶ API (ê²°ì , ì´ë©ì¼ ë±)
â â
â âââ config/ # ì¤ì
â âââ index.ts
â âââ env.ts
â
âââ public/ # ì ì íì¼
âââ tests/ # í
ì¤í¸
â âââ unit/
â âââ integration/
â âââ e2e/
â
âââ docs/ # 문ì
âââ scripts/ # ë¹ë/ë°°í¬ ì¤í¬ë¦½í¸
â
âââ .env.example # íê²½ë³ì í
í릿
âââ .env.local # ë¡ì»¬ íê²½ë³ì (gitignore)
âââ .gitignore
âââ package.json
âââ tsconfig.json
âââ next.config.js
âââ README.md
Backend API Server (NestJS/Express)
my-api/
âââ src/
â âââ modules/ # 기ë¥ë³ 모ë
â â âââ auth/
â â â âââ controllers/
â â â âââ services/
â â â âââ dto/
â â â âââ entities/
â â â âââ auth.module.ts
â â âââ [module-name]/
â â
â âââ common/ # ê³µíµ ëª¨ë
â â âââ decorators/
â â âââ filters/
â â âââ guards/
â â âââ interceptors/
â â âââ pipes/
â â âââ middleware/
â â
â âââ database/ # DB ê´ë ¨
â â âââ migrations/
â â âââ seeds/
â â âââ config/
â â
â âââ config/ # ì¤ì
â â âââ app.config.ts
â â âââ database.config.ts
â â âââ index.ts
â â
â âââ app.module.ts
â âââ main.ts
â
âââ test/
â âââ unit/
â âââ e2e/
â
âââ docker/
â âââ Dockerfile
â âââ docker-compose.yml
â
âââ .env.example
âââ package.json
âââ README.md
ì²´í¬ë¦¬ì¤í¸
íë¡ì í¸ ìì ì íì íì¸
## 구조 ì²´í¬ë¦¬ì¤í¸
### ë ì´ì´ ë¶ë¦¬
â¡ UI ì½ëì ë¹ì¦ëì¤ ë¡ì§ì´ ë¶ë¦¬ëì´ ìëê°?
â¡ ë°ì´í° ì ê·¼ ë¡ì§ì´ ì¶ìíëì´ ìëê°?
â¡ ê³µì ì½ëê° ë³ë í´ëì ìëê°?
### 모ëí
⡠기ë¥ë³ë¡ í´ëê° ë¶ë¦¬ëì´ ìëê°?
â¡ ê° ëª¨ëì index.tsê° ìëê°?
â¡ ìí ì°¸ì¡°ê° ìëê°?
### ì¤ì ê´ë¦¬
â¡ .env.exampleì´ ìëê°?
â¡ íëì½ë©ë ì¤ì ê°ì´ ìëê°?
â¡ íê²½ë³ ì¤ì ì´ ë¶ë¦¬ëì´ ìëê°?
### íì¥ì±
â¡ ì ê¸°ë¥ ì¶ê° ì 기존 ì½ë ìì ì´ ìµìíëëê°?
â¡ í´ë êµ¬ì¡°ê° ì¼ê´ì± ìëê°?
â¡ ë¤ì´ë° 컨벤ì
ì´ íµì¼ëì´ ìëê°?
### 문ìí
â¡ README.mdê° ìëê°?
â¡ íë¡ì í¸ êµ¬ì¡° ì¤ëª
ì´ ìëê°?
â¡ ì¤í ë°©ë²ì´ 문ìíëì´ ìëê°?
Quick Commands
| ëª ë ¹ | ëì |
|---|---|
architect init |
ëííì¼ë¡ íë¡ì í¸ êµ¬ì¡° ìì± |
architect analyze |
íì¬ êµ¬ì¡° ë¶ì ë° ê°ì ì ì ì |
architect template <type> |
í¹ì íì í í릿 ì ì© |
architect validate |
구조 ê·ì¹ ê²ì¦ |
ì¶ë ¥ íì
구조 ì ì ì
## ð íë¡ì í¸ êµ¬ì¡° ì ì
### íë¡ì í¸ ì ë³´
- **íì
**: Next.js Fullstack
- **ê·ëª¨**: ì¤í (10-50 íì´ì§ ìì)
- **í ê·ëª¨**: 1-3ëª
### ê¶ì¥ 구조
[í´ë í¸ë¦¬ ì¶ë ¥]
### íµì¬ ê·ì¹
1. **features/** - 기ë¥ë³ 모ëí
2. **shared/** - ê³µíµ ì»´í¬ëí¸ë§
3. **services/** - ì¸ë¶ ì°ë ì¶ìí
### ìì ëª
ë ¹
\`\`\`bash
npx create-next-app@latest my-project --typescript --tailwind --app
\`\`\`
### ë¤ì ë¨ê³
1. í´ë 구조 ìì±
2. 기본 ì¤ì íì¼ ì¶ê°
3. 첫 ë²ì§¸ ê¸°ë¥ ëª¨ë ìì±
Version: 1.0.0 Dependencies: tech-stack-advisor, requirements-analyzer Quality Target: íë¡ ê°ë°ì ìì¤ êµ¬ì¡°