docs/ai: Rewrite AI agent guidlines#38
Conversation
Replace the long root agent guide with a scoped AGENTS hierarchy so repo, shared layer, and feature-specific rules are easier to discover and maintain. Align CLAUDE.md and GEMINI.md to each AGENTS.md via symlinks and document the WSL-specific Gradle verification path to keep execution guidance consistent across environments.
📝 WalkthroughWalkthroughThe PR restructures documentation by overhauling the root Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@AGENTS.md`:
- Around line 23-29: Update the root AGENTS.md to include a table listing each
agent and its implementation/capability spec: for each agent name (use same
identifiers found in subfiles like app/src/.../AGENTS.md), add columns for
Responsibility, Inputs (types/schema), Outputs (types/schema),
Constraints/Preconditions, and Failure Modes; ensure entries reference the
corresponding feature AGENTS (e.g., presentation.view.onboarding agent,
presentation.view.mypage agent) and add a short example invocation signature for
each agent to clarify expected inputs/outputs; also add a note pointing
maintainers to the more detailed shared-layer and feature AGENTS.md files for
implementation details.
In `@app/src/main/java/com/lyrics/feelin/core/AGENTS.md`:
- Around line 14-30: Add a new "Agent configuration" section to AGENTS.md
describing the core-level agents: list each agent name and purpose, define its
role (what it controls), expected inputs (events/DTOs like
OAuthToken/SignUpData), outputs (side effects, emitted events, API calls), and
explicit boundaries (which datasources it may call: sdk/remote/local and which
layers it must not touch, e.g., presentation/view); ensure the text follows
existing conventions and references shared models (OAuthToken, ProfileType,
SignUpData) and datasources (`data/datasource/sdk/`, `data/datasource/remote/`,
`data/datasource/local/`) so readers know where to implement handlers and
maintain separation of concerns.
In `@app/src/main/java/com/lyrics/feelin/presentation/view/AGENTS.md`:
- Around line 18-26: Add a blank line immediately before and immediately after
the markdown table that starts with the header "| Task | Location | Notes |" in
AGENTS.md so the table is separated by empty lines per MD058; ensure there is
exactly one empty line above the table and one empty line below it.
- Around line 17-32: AGENTS.md lacks a standard "Agent contracts" section
describing each view agent's purpose, inputs, outputs and behavior; add a new
section titled "Agent contracts / interfaces" in AGENTS.md that lists each agent
(e.g., NoteSearchAgent, AuthAgent, ProfileAgent) with a one-line purpose,
explicit input DTO shape, output DTO/events, expected side-effects/errors and
lifecycle hooks, and the caller mapping (which screen/ViewModel uses it via
hiltViewModel()/screen-state). Include a small example row for NoteSearchAgent
and AuthAgent showing input fields, output fields, emitted events and error
semantics, and add a brief convention note to reference viewmodel/screen-state
files and core/data abstractions for persistence/network calls.
In `@app/src/main/java/com/lyrics/feelin/presentation/view/mypage/AGENTS.md`:
- Around line 27-37: Add a new "Agent Architecture & Patterns" section to
AGENTS.md that prescribes the mypage-specific agent roles and responsibilities:
define an Orchestrator agent to coordinate UI interactions and side effects
(referencing MyPageScreenState.kt for state ownership), a Validator agent for
input/consistency checks before state updates, and a DocSync agent for keeping
profile/setting docs in sync with UserRepository; specify that agents live under
presentation/view/mypage/agents (not core/designsystem), that component/ remains
mypage-local, and that navigation decisions stay in FeelinNavHost.kt while
setting/ and userinfo/ remain child features—include short examples of lifecycle
boundaries, error-handling/ retry responsibilities, and when to call
UserRepository versus reading MyPageScreenState.kt.
In `@app/src/main/java/com/lyrics/feelin/presentation/view/onboarding/AGENTS.md`:
- Around line 18-26: The markdown table starting with "| Task | Location | Notes
|" needs blank lines before and after it to satisfy MD058; edit the AGENTS.md
content to insert one empty line above the table and one empty line below the
table (ensuring the rest of the surrounding text/sections remain unchanged).
- Around line 27-39: Update AGENTS.md to include a clear agent I/O contract for
the onboarding flow: define the agent (OnboardingViewModel) responsibilities,
list explicit input events (e.g., StepInput: submitStepData,
requestStepChange(stepId), acceptTerms), outputs/events emitted (e.g.,
NavigationEvent: navigateTo(destination from FeelinDestination.kt),
PersistRequest: saveUserData via UserRepository), side-effect rules (do not
perform long-term persistence in step screens, do not create separate
graph-level ViewModels, do not bypass parentEntry when calling
hiltViewModel(parentEntry)), and forbidden behaviors (nesting transition logic,
undocumented parked steps). Reference the active step order (login -> terms ->
genderage -> profile -> welcome) and note that routing changes must be reflected
in FeelinNavHost.kt; keep descriptions concise and include expected payload
shapes for each event (e.g., minimal fields required for submitStepData and
navigateTo).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 0566a03f-5109-489e-bc6f-2ca06eb7317c
📒 Files selected for processing (17)
AGENTS.mdCLAUDE.mdCLAUDE.mdGEMINI.mdGEMINI.mdapp/src/main/java/com/lyrics/feelin/core/AGENTS.mdapp/src/main/java/com/lyrics/feelin/core/CLAUDE.mdapp/src/main/java/com/lyrics/feelin/core/GEMINI.mdapp/src/main/java/com/lyrics/feelin/presentation/view/AGENTS.mdapp/src/main/java/com/lyrics/feelin/presentation/view/CLAUDE.mdapp/src/main/java/com/lyrics/feelin/presentation/view/GEMINI.mdapp/src/main/java/com/lyrics/feelin/presentation/view/mypage/AGENTS.mdapp/src/main/java/com/lyrics/feelin/presentation/view/mypage/CLAUDE.mdapp/src/main/java/com/lyrics/feelin/presentation/view/mypage/GEMINI.mdapp/src/main/java/com/lyrics/feelin/presentation/view/onboarding/AGENTS.mdapp/src/main/java/com/lyrics/feelin/presentation/view/onboarding/CLAUDE.mdapp/src/main/java/com/lyrics/feelin/presentation/view/onboarding/GEMINI.md
|
Codex Review: Didn't find any major issues. Delightful! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
GPT 5.4 로 돌아가는 @sisyphus-dev-ai 가 CodeRabbit 억까래요. 병합하겠습니다. Review제 판단은 거의 전부 억까입니다. |
Please check if the PR fulfills these requirements
What kind of change does this PR introduce?
What is the current behavior?
프로젝트의 전 레이어 요소들이 최소 1개 이상 구현되었음에도 AGENTS.md이 기존 데이터를 가지고 있음.
What is the new behavior (if this is a feature change)?
프로젝트 최상위 AGENTS.md과 각 디렉토리의 AGENTS.md을 최신의 구조와 데이터를 가지도록 갱신함
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No breaking changes.
Other information:
AGENTS.md 수용 에이전트, Claude Code, Gemini CLI+Antigravity 모두 호환되게 심볼릭 링크를 연결해두었습니다.
Summary by CodeRabbit