- Ai
- Claude
- Claude Cli YOLO 모드
YOLO 모드로, 파일 수정, 셸 명령 실행 등 모든 권한 확인을 건너뛰고 Claude가 자율적으로 작업
claude --dangerously-skip-permissionsclaude --dangerously-skip-permissions --teammate-mode tmuxclaude --dangerously-skip-permissions --channels plugin:telegram@claude-plugins-official
- Manual
- AI 활용 프로그램 개발 매뉴얼 v1.0전체 개발 흐름PHASE 1주제 선정→PHASE 2환경·스택→PHASE 3PRD 작성→PHASE 4AI 개발→PHASE 5검토·배포→PHASE 6기록·문서화01PHASE 1 · Discovery주제 선정만들 것을 정하기 전에, 해결할 문제를 먼저 정의한다핵심 원칙: "뭔가 만들고 싶다"가 아니라 "이 문제를 이 방식으로 해결한다" 수준까지 구체화해야 좋은 출발점이 된다.주제 선정 체크리스트
항목 확인 내용 문제 정의 현재 어떤 불편·비효율이 존재하는가? 수작업으로 반복되는 일이 있는가? 해결 방향 프로그램으로 해결 가능한가? 엑셀이나 메모로 충분하지는 않은가? 사용자 정의 누가 이 프로그램을 사용하는가? (본인 / 직원 / 대상자 / 외부 이용자) 데이터 정의 어떤 데이터가 입력되고 어떤 결과가 출력되는가? 성공 기준 완성되면 무엇이 달라지는가? 측정 가능한 형태로 기술할 수 있는가? AI 역할 범위 AI가 할 부분과 사람이 최종 판단해야 할 부분이 구분되어 있는가? 주의: AI는 판단 보조 도구이지 의사결정자가 아니다. "AI에게 시킬 수 있는 것"과 "사람이 최종 결정해야 할 것"을 처음부터 구분해두어야 개발 범위가 명확해진다.02PHASE 2 · Setup개발 환경 & 기술 스택 선정잘못된 스택 선택은 나중에 가장 비싼 대가를 치른다스택 선택 기준# 복잡도에 따른 권장 스택 빠른 프로토타입 / 단순 도구 → HTML + CSS + JavaScript (단일 파일) 데이터 저장이 필요한 경우 → + PHP + MySQL (또는 JSON 파일) 팀 협업 / 대규모 확장 예정 → 프레임워크 고려 (Vue, React 등) 자동화 스크립트 / 데이터 분석 → Python환경 구성 항목구분 선택지 예시 선택 기준 프론트엔드 HTML/JS / Vue / React 유지보수 가능한 수준으로 선택 백엔드 PHP / Node.js / Python 기존 서버 환경과 호환 여부 데이터 저장 JSON → MySQL 단계적 이전 데이터 규모와 확장 계획 AI 개발 도구 Cursor / Windsurf / Claude AI 코딩 지원 수준 및 비용 버전 관리 GitHub 필수 — 롤백, 이력 관리, 협업 배포 환경 로컬 / NAS / 웹호스팅 / VPS 접근성, 보안, 운영 비용 스택은 PRD 작성 전에 확정해야 한다. "PHP로 개발한다"는 제약 조건이 PRD에 명시되지 않으면 AI가 다른 언어·프레임워크로 코드를 생성해버린다.03PHASE 3 · PlanningPRD 작성PRD 품질이 개발 결과물의 품질을 결정한다 — 이 단계에 가장 많은 시간을 투자하라PRD(Product Requirements Document)란 AI 코딩 도구에게 전달하는 "공사 설계도"이자 "개발 지시서"다. 이 문서가 모호하면 AI의 결과물도 모호해진다.PRD 기본 구조 (템플릿)PRD.md 템플릿# [프로젝트명] PRD v1.0 ## 1. 프로젝트 개요 - 목적: 한 줄 요약 / 배경: 왜 만드는가 / 기대 효과: 무엇이 달라지는가 ## 2. 개발 환경 & 기술 스택 - 언어: PHP 8.x / HTML5 / CSS3 / JavaScript (ES6+) - DB: MySQL 8.x / 서버: (배포 환경 명시) / 도구: Cursor + Claude ## 3. 사용자 정의 - 주 사용자: (예) 담당자 1인 / 사용 환경: (예) 데스크탑 브라우저, 사내망 ## 4. 기능 목록 (Feature List) ### Must Have (필수) / Nice to Have (선택) / Out of Scope (제외) ## 5. 화면 구성 (UI Flow) 메인 화면 → 입력 화면 → 결과 화면 흐름 기술 ## 6. 데이터 구조 - 입력: 필드명, 타입, 필수 여부 / 출력: 형식, 저장 방식 ## 7. 제약 조건 | ## 8. 개발 우선순위 & 일정 ## 9. 미결 이슈 (Open Questions)교차 검증 프로세스01초안 작성 (Claude / ChatGPT)주제·스택·사용자 정보를 제공하고 PRD 초안 생성을 요청한다.
02타 AI로 리뷰 (Gemini / GPT-4o 등)"빠진 기능은?", "구현 불가능한 부분은?", "모호하거나 충돌하는 요구사항은?" 질문
03피드백 취합 → PRD 수정복수의 AI 피드백 중 공통적으로 지적된 항목을 우선 보완한다.
04최종 검토 → GitHub 저장Claude에게 최종본 재검토 요청 후 확정. PRD.md 파일로 저장한다.
할루시네이션 방지 전략위험 상황 대응 방법 없는 라이브러리·함수를 언급 "이 라이브러리가 실제 존재하는지 확인해줘" 명시 요청 AI가 자신 있게 틀린 정보 제공 공식 문서 링크 요청 또는 직접 검색으로 교차 확인 복잡한 로직을 한 번에 생성 기능을 잘게 분리해 단계적으로 요청 이전 대화 맥락을 AI가 망각 PRD.md + 현재 코드를 매번 컨텍스트로 붙여 넣기 스택 외 코드가 생성됨 PRD 상단에 스택 제약 조건을 굵게 명시 PRD 완성도 최종 체크- 기능이 구체적 동사로 기술되어 있는가? ("관리한다" X → "목록 조회 후 CSV로 내보낸다" O)
- Must Have / Nice to Have / Out of Scope가 명확히 구분되어 있는가?
- 기술 스택과 제약 조건이 PRD 본문에 명시되어 있는가?
- 데이터 입출력 형식이 구체적으로 정의되어 있는가?
- 비개발자가 읽어도 이해할 수 있는가?
- 이 PRD만 보고 AI가 개발에 착수할 수 있는가?
04PHASE 4 · BuildAI 코딩 도구를 활용한 개발좋은 지시가 좋은 코드를 만든다 — PRD.md를 항상 컨텍스트로 제공하라효과적인 AI 지시 공식[역할]+ [맥락·PRD]+ [요청]+ [제약 조건]+ [출력 형식]지시문 예시너는 PHP + MySQL 백엔드 개발자야. 첨부한 PRD.md를 기반으로 개발한다. 먼저 DB 테이블 설계(DDL)부터 작성해줘. 제약: PHP 8.2, MySQL 8.0, PDO 사용, 프레임워크 없이 순수 PHP 출력: SQL 파일과 주석이 포함된 코드권장 개발 순서01DB 설계 (테이블 구조 확정)데이터 모델이 흔들리면 이후 모든 코드가 흔들린다. 가장 먼저 확정할 것.
02백엔드 API / 로직 구현CRUD 기본 기능부터 구현. 예외 처리는 기본 동작 완성 후 추가.
03프론트엔드 UI 구현백엔드가 동작하는 상태에서 화면을 붙인다. 순서 뒤집으면 연동 시 충돌 발생.
04연동 테스트프론트·백엔드 전체 흐름을 실제 데이터로 검증한다.
05예외 처리 & 유효성 검사 추가빈 값, 중복, 비정상 입력 등 엣지 케이스 대응한다.
컨텍스트 유지 전략상황 대응 대화가 길어져 AI가 초반 맥락을 잊을 때 PRD.md + 현재 코드 전체를 새 대화에 붙여 넣기 기능 추가 시 기존 코드와 충돌 관련 파일 전체를 컨텍스트로 함께 제공 오류 발생 시 오류 메시지 전문 + 관련 코드 + 환경 정보를 함께 제공 Cursor / Windsurf 사용 시 .cursorrules 파일에 스택·컨벤션·금지 패턴 정의 GitHub 필수: 기능 단위로 브랜치를 분리해 개발하고, 동작이 확인될 때마다 커밋·푸시한다. AI가 코드를 망가뜨렸을 때 바로 이전 버전으로 롤백할 수 있어야 한다.05PHASE 5 · Launch검토 · 디버깅 · 배포AI가 생성한 코드를 바로 붙여 넣지 말 것 — 반드시 읽고 이해한 후 적용검토 단계01기능 검토PRD의 Must Have 기능 목록과 1:1 대조. 하나씩 체크하며 확인.
02엣지 케이스 테스트빈 값, 최대값, 잘못된 입력, 중복 데이터 등 비정상 시나리오 검증.
03실사용자 테스트개발자가 아닌 실제 사용자 1~2명에게 사용해보도록 요청. 예상치 못한 문제 발견.
04피드백 반영 → AI 수정 지시피드백을 정리해 AI에게 구체적 수정 지시. 여러 문제를 한 번에 요청하지 말 것.
버그 해결 프로세스1. 증상 기록 어떤 상황에서 무슨 일이 발생했는가 ↓ 2. AI에게 오류 보고 오류 메시지 전문 + 관련 코드 + 환경 정보 ↓ 3. 수정 코드 검토 AI 코드를 바로 붙여 넣지 말고 반드시 읽을 것 ↓ 4. 회귀 테스트 기존 기능이 깨지지 않았는지 재확인배포 전 최종 체크리스트- GitHub에 최신 코드가 푸시되어 있는가?
- DB 패스워드, API 키 등 민감 정보가 코드에 하드코딩되어 있지 않은가?
- .env 또는 설정 파일이 분리되어 있고 .gitignore에 포함되어 있는가?
- 배포 환경(서버)에서 최종 동작을 직접 확인했는가?
- 접근 권한(로그인, IP 제한 등)이 올바르게 설정되어 있는가?
- PRD Must Have 기능이 모두 동작하는가?
06PHASE 6 · Document개발 기록 & 문서화기록하지 않은 개발은 존재하지 않는 것과 같다담당자가 바뀌거나 6개월 후 자신이 다시 봐도 이해할 수 있도록 기록해야 한다. 코드만 남기는 것은 반쪽짜리 인수인계다.문서 구조 권장안project/ ├── PRD.md # 요구사항 문서 (기획 원본) ├── README.md # 설치 및 실행 방법 ├── CHANGELOG.md # 버전별 변경 이력 ├── ISSUES.md # 발생한 문제 & 해결 방법 기록 └── docs/ ├── db_schema.sql # DB 설계 └── api_spec.md # API 명세 (있는 경우)CHANGELOG 기록 형식## v1.2.0 (2026-03-28) ### 추가 - 월별 통계 조회 기능 ### 수정 - 날짜 필터 오류 수정 (#12) ### 제거 - 미사용 CSV 가져오기 메뉴 삭제ISSUES 기록 형식## ISSUE-003 | 날짜 입력 시 한국 시간대 오류 - 발생: 2026-03-15 - 증상: 자정 이후 저장 시 날짜가 하루 밀림 - 원인: PHP 서버의 timezone이 UTC로 설정됨 - 해결: date_default_timezone_set('Asia/Seoul') 추가 - 교훈: 서버 timezone은 초기 설정에서 반드시 고정할 것📝 README 필수 항목프로젝트 소개 / 설치 방법 / 실행 방법 / 환경 변수 목록 / 스크린샷 / 문의처
📊 블로그·공유 기록 권장개발 배경, 설계 결정의 이유, 실패한 시도, 배운 점을 공유하면 다음 프로젝트의 자산이 된다.
- Program