AIFlare
비전문서
로그인무료로 시작
시작하기
  • 소개
  • 빠른 시작
기능
  • 프로젝트 대시보드
  • 프로젝트 설정
  • 타임라인
  • 팀 협업
스킬
  • 스킬 둘러보기
  • 컨텍스트 캡처
  • 코드 의도 조회
  • 컨텍스트 주입
  • 일별 요약
  • 주간 요약
  • 세션 비교
  • 세션 요약
  • 세션 평가
관리
  • 멤버 & 초대
  • 계정설정
기능

코드 의도 조회 (why)

AI 에이전트가 작성한 코드 한 줄(또는 파일)이 왜 그렇게 작성되었는지 — 그 줄을 만진 모든 커밋의 의도·기각한 대안·당시 대화 — 를 타임라인으로 되찾아 주는 MCP tool입니다. Claude Code에서 `/why <file>:<line>` 로 호출하거나, AI가 디버깅 중 자동으로 사용합니다.

개요

커밋 메시지는 「무엇이 바뀌었는지」만 남기지만, why tool은 그 뒤의 의도·기각한 대안·당시 대화를 커밋별로 반환합니다. 로컬에서 `git log -L` 을 실행해 대상 줄(또는 파일)을 만진 커밋 해시를 찾고, 각 커밋의 AIFlare 캡처를 조회해 최신 커밋이 위쪽인 타임라인으로 묶어 줍니다. 캡처가 없는 커밋은 fallback 으로 커밋 목록만 안내합니다.

조회 단위파일 + 줄 번호 (`git log -L`) 또는 파일 전체 (`git log -- file`). 가장 최근 5개 커밋으로 cap.
조회 범위API Key 가 가리키는 활성 프로젝트 스코프 내 캡처만 조회. 다른 프로젝트 커밋 해시는 노출되지 않습니다.
안전성조회 전용 tool 로 사이드 이펙트 없음. 모든 git 명령은 셸 인젝션 방지를 위해 인용·격리 실행됩니다.
안내 표기총 커밋 수가 5개를 초과하면 「5 most recent of N」 형태로 안내하여 사용자가 5개 cap을 전체 이력으로 오해하지 않도록 합니다.

언제 쓰나

AI 가 만든 코드를 손대기 전에 원래 의도를 먼저 확인하고, 추측 대신 근거 위에서 디버깅·리팩터링하기 위한 도구입니다.

01
버그 디버깅

이상하게 보이는 한 줄이 왜 그렇게 작성되었는지 — 의도된 워크어라운드인지, 단순 실수인지 — 를 커밋의 의도와 대안 기록으로 판별합니다.

02
리팩터링 전 의도 확인

건드리려는 코드가 어떤 제약·트레이드오프 위에서 결정되었는지 확인한 뒤 안전하게 구조를 바꿉니다.

03
낯선 코드 빠르게 파악

내가 만들지 않은 모듈의 한 줄이 어떤 흐름에서 등장했는지를 커밋별 대화 조각과 함께 따라갑니다.

04
에이전트가 자기 코드 점검

AI 에이전트가 디버깅 중 추측으로 코드를 수정하기 전에 why 를 호출해 자기 또는 다른 에이전트의 과거 의도를 먼저 확인합니다.

사용법

구문

Claude Code 의 슬래시 커맨드로 직접 호출하거나, AI 가 도구를 통해 호출합니다. 파일 경로 뒤에 콜론과 줄 번호를 붙이면 그 줄만 추적합니다.

/why <file>[:<line>]

파라미터

이름타입필수기본값설명
filestring필수-조회 대상 파일 경로 (git 루트 기준 상대 경로 또는 절대 경로).
linenumber선택-설명할 줄 번호. 생략 시 파일 전체 이력을 사용합니다 (어느 모드든 최신 5개 커밋 cap).

처리 흐름

1사용자가 `/why <file>:<line>` 호출 → Skill 이 인자를 file 과 line 으로 분리. 인자 없으면 현재 디버깅 맥락에서 파일·줄 추론.
2MCP tool 이 로컬 git 으로 대상 줄(또는 파일)을 만진 커밋 해시 목록을 조회 (`git log -L`). 가장 최근 5개로 cap.
3백엔드 `/api/v1/captures/by-commits` 로 해당 해시들의 AIFlare 캡처(의도·대안·대화·diff 메타)를 일괄 조회.
4결과를 「최신 커밋이 위쪽」인 Markdown 타임라인으로 반환. 캡처 없는 커밋은 fallback 으로 커밋 목록만 안내.

주요 에러

AIFlare 미설정

`aiflare.yml` 이 없거나 `api_key` 가 비어 있을 때. 「AIFlare is not configured. Place aiflare.yml in your project root.」 메시지를 반환합니다.

git 리포지토리 아님

git 루트를 찾지 못할 때. 「Not in a git repository.」 메시지를 반환합니다.

잘못된 경로·줄 번호

파일이 존재하지 않거나 줄 번호가 범위를 벗어났을 때. 「git query failed — check the file path …」 안내를 반환합니다.

출력 형식

Markdown 문자열로 반환됩니다. 캡처가 있는 경우와 없는 경우 두 가지 모양이 있습니다.

TIMELINE
캡처가 있는 경우 — 타임라인

각 커밋이 카드 형태로 묶여 「Title / Tag / Intent / Alternatives considered / Diff around this line / Conversation behind this commit」 섹션이 차례로 표시됩니다. 가장 최근 커밋이 위쪽이며, 캡처가 1개뿐일 때는 'only', 그 외에는 'latest / earlier / oldest' 레이블이 붙습니다.

FALLBACK
캡처가 없는 경우 — fallback

커밋 이력은 있지만 AIFlare 캡처가 하나도 없을 때 사용됩니다. 「N commits touched this line, but none are captured in AIFlare.」 안내와 함께 커밋 해시·날짜·subject 목록만 보여 줍니다. (AIFlare 도입 전 또는 Claude Code 외부 커밋)

why output — timeline (excerpt)
## Intent history for this line
Showing the 5 most recent of 12 commits. 4 of them have AIFlare captures.
### 1. latest — e395786 (2026-05-12)
**Title**: Add JWT token issuance logic
**Tag**: FEATURE
#### Intent
Use HS256 with a short access token (15 min) and a refresh token to balance UX and revocation latency …
#### Alternatives considered
Considered RS256 with key rotation, rejected for ops overhead at the current scale.
5개 cap 안내

총 커밋이 5개를 초과하면 타임라인에는 「Showing the 5 most recent of N commits.」, fallback 에는 「Checked the 5 most recent of N commits, but none are captured in AIFlare.」 안내가 추가됩니다.

에러·예외 처리

모든 에러는 Claude Code 세션을 중단시키지 않고 tool 응답 텍스트로 반환됩니다. AI 는 안내 문구를 보고 일반 디버깅으로 자연스럽게 이어갑니다.

상황반환 문구
AIFlare 미설정AIFlare is not configured. Place aiflare.yml in your project root.
git 리포지토리 아님Not in a git repository.
git log 실패 (경로·줄 번호 오류)git query failed — check the file path …
커밋 이력 없음No commit history found for {file}:{line}. (또는 …for {file}.)
백엔드 타임아웃·네트워크 오류Error querying AIFlare: {message}
특정 커밋의 git show 실패그 커밋의 diff 섹션만 생략하고 나머지 타임라인은 정상 출력합니다.

관련 기능

why tool 은 캡처된 의도 데이터를 활용하는 다른 기능과 연결됩니다.

context-capture

커밋 시점에 의도·대안·대화 등을 AIFlare 에 캡처하는 skill. why 가 조회할 데이터의 출처입니다. 캡처가 없는 커밋은 why 의 fallback 분기로 빠집니다.

타임라인

웹 콘솔에서 같은 캡처 데이터를 시각적으로 탐색합니다. why 가 디버깅 중 한 줄 단위로 의도를 끌어오는 반면, 타임라인은 전체 작업 흐름을 시간순으로 보여 줍니다.

이 페이지에서

AIFlare
Made with ♥ in Seoul
© 2026 AIFlare. All rights reserved.
Product
SkillDocs
Company
Vision
Resources
PrivacyTerms
Connect
GitHub