initial commit

This commit is contained in:
김경종
2026-04-15 17:06:46 +09:00
parent b470b8e09a
commit 15de773dda
29 changed files with 1851 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# Architecture Decision Records
## 철학
{프로젝트의 핵심 가치관 (예: MVP 속도 최우선. 외부 의존성 최소화. 작동하는 최소 구현을 선택.)}
---
### ADR-001: {결정 사항 (예: Next.js App Router 선택)}
**결정**: {뭘 선택했는지}
**이유**: {왜 선택했는지}
**트레이드오프**: {뭘 포기했는지}
### ADR-002: {결정 사항}
**결정**: {뭘 선택했는지}
**이유**: {왜 선택했는지}
**트레이드오프**: {뭘 포기했는지}
### ADR-003: {결정 사항}
**결정**: {뭘 선택했는지}
**이유**: {왜 선택했는지}
**트레이드오프**: {뭘 포기했는지}
+24
View File
@@ -0,0 +1,24 @@
# 아키텍처
## 디렉토리 구조
```
src/
├── app/ # 페이지 + API 라우트
├── components/ # UI 컴포넌트
├── types/ # TypeScript 타입 정의
├── lib/ # 유틸리티 + 헬퍼
└── services/ # 외부 API 래퍼
```
## 패턴
{사용하는 디자인 패턴 (예: Server Components 기본, 인터랙션이 필요한 곳만 Client Component)}
## 데이터 흐름
```
{데이터가 어떻게 흐르는지 (예:
사용자 입력 → Client Component → API Route → 외부 API → 응답 → UI 업데이트
)}
```
## 상태 관리
{상태 관리 방식 (예: 서버 상태는 Server Components, 클라이언트 상태는 useState/useReducer)}
+83
View File
@@ -0,0 +1,83 @@
# Codex Migration Guide
## Purpose
This repository was converted from a Claude-oriented Harness template into a Codex-oriented template.
## Mapping
| Claude surface | Codex surface | Repository path |
|---|---|---|
| `CLAUDE.md` | persistent repo instructions | `AGENTS.md` |
| `.claude/commands/*.md` | repo skills | `.agents/skills/*/SKILL.md` |
| Claude sub-agents | project-scoped custom agents | `.codex/agents/*.toml` |
| `.claude/settings.json` hooks | Codex hooks | `.codex/hooks.json` |
| `claude -p` automation | `codex exec` automation | `scripts/execute.py` |
| ad hoc slash commands | optional plugin command layer | `plugins/harness-engineering/commands/` |
## Repository surfaces
### `AGENTS.md`
Codex loads `AGENTS.md` as the persistent instruction file for the repository.
Use it for:
- project-level rules
- architecture constraints
- workflow expectations
- validation commands
### `.agents/skills/`
Repo skills are the primary reusable workflow layer.
- `harness-workflow`: plan phases and generate `phases/` files
- `harness-review`: review changes against Harness docs and rules
These are automatically discoverable by Codex in this repository.
### `.codex/agents/`
Custom agents are defined as standalone TOML files.
- `phase_planner`: read-heavy planner for decomposing work into steps
- `harness_reviewer`: read-only reviewer for architecture and test compliance
Use these only when the user explicitly asks Codex to fan out work across subagents.
### `.codex/hooks.json`
As of 2026-04-15, Codex documents hooks as experimental and disabled on native Windows.
This repo still ships hook definitions because they work on macOS, Linux, and WSL once `codex_hooks` is enabled. On native Windows, use `python scripts/validate_workspace.py` manually or through `scripts/execute.py`.
### `plugins/harness-engineering/`
This is an optional repo-local plugin that exposes Harness slash-command prompts through the local marketplace.
Install path:
1. Restart Codex.
2. Open `/plugins`.
3. Choose the local marketplace `Local Harness Engineering`.
4. Install `harness-engineering`.
## Automation
`scripts/execute.py` now calls `codex exec` instead of `claude -p`.
Execution model:
- inject `AGENTS.md` and `docs/*.md` into each step prompt
- run steps in order
- retry failed steps up to 3 times with prior error feedback
- persist step outputs under `phases/{phase}/stepN-output.json`
- create code and metadata commits after successful steps
## Validation
`python scripts/validate_workspace.py` is the repo-level fallback validator.
- If `package.json` exists, it auto-runs available `npm run lint`, `npm run build`, and `npm run test`.
- If the project needs another validation chain, set `HARNESS_VALIDATION_COMMANDS` to newline-separated commands.
+21
View File
@@ -0,0 +1,21 @@
# PRD: {프로젝트명}
## 목표
{이 프로젝트가 해결하려는 문제를 한 줄로 요약}
## 사용자
{누가 이 제품을 쓰는지}
## 핵심 기능
1. {기능 1}
2. {기능 2}
3. {기능 3}
## MVP 제외 사항
- {안 만들 것 1}
- {안 만들 것 2}
- {안 만들 것 3}
## 디자인
- {디자인 방향 (예: 다크모드 고정, 미니멀)}
- {색상 (예: 무채색 + 포인트 1가지)}
+76
View File
@@ -0,0 +1,76 @@
# UI 디자인 가이드
## 디자인 원칙
1. {원칙 1 — 예: "도구처럼 보여야 한다. 마케팅 페이지가 아니라 매일 쓰는 대시보드."}
2. {원칙 2}
3. {원칙 3}
## AI 슬롭 안티패턴 — 하지 마라
| 금지 사항 | 이유 |
|-----------|------|
| backdrop-filter: blur() | glass morphism은 AI 템플릿의 가장 흔한 징후 |
| gradient-text (배경 그라데이션 텍스트) | AI가 만든 SaaS 랜딩의 1번 특징 |
| "Powered by AI" 배지 | 기능이 아니라 장식. 사용자에게 가치 없음 |
| box-shadow 글로우 애니메이션 | 네온 글로우 = AI 슬롭 |
| 보라/인디고 브랜드 색상 | "AI = 보라색" 클리셰 |
| 모든 카드에 동일한 rounded-2xl | 균일한 둥근 모서리는 템플릿 느낌 |
| 배경 gradient orb (blur-3xl 원형) | 모든 AI 랜딩 페이지에 있는 장식 |
## 색상
### 배경
| 용도 | 값 |
|------|------|
| 페이지 | {예: #0a0a0a} |
| 카드 | {예: #141414} |
### 텍스트
| 용도 | 값 |
|------|------|
| 주 텍스트 | {예: text-white} |
| 본문 | {예: text-neutral-300} |
| 보조 | {예: text-neutral-400} |
| 비활성 | {예: text-neutral-500} |
### 데이터/시맨틱 색상
| 용도 | 값 |
|------|------|
| {긍정/성공} | {예: #22c55e} |
| {부정/에러} | {예: #ef4444} |
| {중립/기본} | {예: #525252} |
## 컴포넌트
### 카드
```
{예: rounded-lg bg-[#141414] border border-neutral-800 p-6}
```
### 버튼
```
Primary: {예: rounded-lg bg-white text-black hover:bg-neutral-200}
Text: {예: text-neutral-500 hover:text-neutral-300}
```
### 입력 필드
```
{예: rounded-lg bg-neutral-900 border border-neutral-800 px-4 py-3}
```
## 레이아웃
- 전체 너비: {예: max-w-5xl}
- 정렬: {예: 좌측 정렬 기본. 중앙 정렬 금지}
- 간격: {예: gap-3~4, 섹션 간 space-y-8}
## 타이포그래피
| 용도 | 스타일 |
|------|--------|
| 페이지 제목 | {예: text-4xl font-semibold text-white} |
| 카드 제목 | {예: text-sm font-medium text-neutral-400} |
| 본문 | {예: text-sm text-neutral-300 leading-relaxed} |
## 애니메이션
- {허용할 애니메이션만 나열. 예: fade-in (0.4s), slide-up (0.5s)}
- {그 외 모든 애니메이션 금지}
## 아이콘
- {예: SVG 인라인, strokeWidth 1.5}
- {예: 아이콘 컨테이너(둥근 배경 박스)로 감싸지 않는다}