UNPKG

aiwf

Version:

AI Workflow Framework for Claude Code with multi-language support (Korean/English)

171 lines (122 loc) 3.13 kB
# {{projectName}} AIWF가 통합된 Express + TypeScript RESTful API 서버입니다. ## 시작하기 ### 개발 서버 실행 ```bash npm install cp .env.example .env npm run dev ``` 서버가 [http://localhost:3000](http://localhost:3000)에서 실행됩니다. ### API 문서 Swagger UI: [http://localhost:3000/docs](http://localhost:3000/docs) ### 빌드 ```bash npm run build npm start ``` ## 기술 스택 - **Express 4** - 웹 프레임워크 - **TypeScript** - 타입 안정성 - **JWT** - 인증 - **Swagger** - API 문서화 - **Winston** - 로깅 - **Jest** - 테스팅 - **AIWF** - AI 지원 개발 워크플로우 ## 프로젝트 구조 ``` src/ ├── config/ # 설정 파일 ├── controllers/ # 요청 핸들러 ├── middleware/ # Express 미들웨어 ├── models/ # 데이터 모델 ├── routes/ # API 라우트 정의 ├── services/ # 비즈니스 로직 ├── utils/ # 유틸리티 함수 └── types/ # TypeScript 타입 정의 ``` ## API 엔드포인트 ### 인증 - `POST /api/v1/auth/register` - 회원가입 - `POST /api/v1/auth/login` - 로그인 ### 상태 - `GET /health` - 헬스체크 - `GET /api/v1/status` - API 상태 ### AIWF - `GET /api/aiwf/features` - Feature Ledger 조회 - `GET /api/aiwf/token-usage` - 토큰 사용량 조회 - `GET /api/aiwf/context` - Context 상태 조회 ## AIWF 기능 ### Feature Ledger API 엔드포인트 개발을 자동으로 추적합니다. ```bash npm run aiwf:feature list # 기능 목록 보기 npm run aiwf:feature stats # 통계 보기 ``` ### API 문서 자동화 ```bash npm run aiwf:api docs # API 문서 업데이트 npm run aiwf:api validate # API 스펙 검증 ``` ### AI 페르소나 - `backend-engineer` - 백엔드 개발 (기본값) - `api-architect` - API 설계 - `database-specialist` - 데이터베이스 - `security-auditor` - 보안 감사 - `performance-optimizer` - 성능 최적화 ## 개발 가이드 ### 새 API 엔드포인트 추가 1. 라우트 정의 (`src/routes/`) 2. 컨트롤러 구현 (`src/controllers/`) 3. 서비스 로직 작성 (`src/services/`) 4. 입력 검증 추가 5. Swagger 문서 작성 ### 미들웨어 추가 ```typescript // src/middleware/myMiddleware.ts export const myMiddleware = (req: Request, res: Response, next: NextFunction) => { // 미들웨어 로직 next(); }; ``` ### 환경 변수 `.env` 파일 설정: ```env NODE_ENV=development PORT=3000 JWT_SECRET=your-secret-key ``` ## 테스트 ```bash # 전체 테스트 실행 npm test # 감시 모드 npm run test:watch # 커버리지 리포트 npm test -- --coverage ``` ## 보안 - Helmet.js로 보안 헤더 설정 - Rate limiting 적용 - JWT 토큰 인증 - 입력 검증 (express-validator) - CORS 설정 ## 배포 ### Docker ```dockerfile FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . RUN npm run build EXPOSE 3000 CMD ["npm", "start"] ``` ### PM2 ```bash npm run build pm2 start dist/index.js --name {{projectName}} ``` ## 라이선스 MIT