Skip to content
lodadoPublic

About

coding agent's cyberbrain ๐Ÿคช

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

293 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

shareds

์ฝ”๋”ฉ ์—์ด์ „ํŠธ์— ๊ฝ‚์•„ ์“ฐ๋Š” ์ง€์‹ ์ƒค๋“œ์˜ˆ์š”. ๊ทธ๋™์•ˆ ์Œ“์€ ๊ฐœ๋ฐœ ๋…ธํ•˜์šฐ๋ฅผ ์Šคํ‚ฌ๊ณผ ESLint ํ”„๋ฆฌ์…‹์œผ๋กœ ๋งŒ๋“ค์–ด ๋’€์–ด์š”.

CI License: MIT Node.js pnpm GitHub stars GitHub issues

Claude Code Codex ESLint Turborepo

๋ญ๊ฐ€ ๋“ค์–ด ์žˆ์–ด์š” ยท ์Šคํ‚ฌ ๊ฝ‚๊ธฐ ยท ESLint ์“ฐ๊ธฐ ยท Oracle Design ยท ํŒจํ‚ค์ง€ ยท ๊ฐœ๋ฐœ


์‚ฌ์ด๋ฒ„ํŽ‘ํฌ 2077์— '์ƒค๋“œ'๋ผ๋Š” ์•„์ดํ…œ์ด ์žˆ์–ด์š”. ์นฉ ํ•˜๋‚˜ ๊ฝ‚์œผ๋ฉด ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ง€์‹์ด ํ†ต์งธ๋กœ ๋‚ด ๊ฒƒ์ด ๋ผ์š”. ์ด ๋ ˆํฌ๊ฐ€ ๋”ฑ ๊ทธ๊ฑฐ์˜ˆ์š”. ํ…Œ์ŠคํŠธ, ์‹œ๊ฐ QA, ์‹œ์Šคํ…œ ์„ค๊ณ„, ์—์ด์ „ํŠธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ์Šคํ‚ฌ๋กœ ๋งŒ๋“ค์–ด ๋’€์–ด์š”. ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์— ๊ฝ‚์œผ๋ฉด ๋ฐ”๋กœ ์จ์š”. ์ฝ”๋“œ ํ’ˆ์งˆ ๊ทœ์น™์€ ESLint ํ”„๋ฆฌ์…‹์œผ๋กœ ๋”ฐ๋กœ ๋นผ๋†จ์–ด์š”.

์Œ“์•„๋‘” ๊ฐœ๋ฐœ ์ง€์‹  โ”€โ”€โ–ถ  Claude Code / Codex ์Šคํ‚ฌ  โ”€โ”€โ–ถ  ์„ค๊ณ„ยท๊ตฌํ˜„ยท๊ฒ€์ฆ์ด ์ผ์ •ํ•ด์ ธ์š”
์ฝ”๋“œ ํ’ˆ์งˆ ๊ทœ์น™    โ”€โ”€โ–ถ  ์กฐํ•ฉํ˜• ESLint ํ”„๋ฆฌ์…‹      โ”€โ”€โ–ถ  ์—๋””ํ„ฐ๋ž‘ CI์—์„œ ๋ฐ”๋กœ ์žก์•„์ค˜์š”

๋ญ๊ฐ€ ๋“ค์–ด ์žˆ์–ด์š”

์˜์—ญ ๋“ค์–ด ์žˆ๋Š” ๊ฒƒ ๋ฐฐํฌ
์ฝ”๋“œ ํ’ˆ์งˆ ์กฐํ•ฉํ˜• ESLint ํ”„๋ฆฌ์…‹, ์ง์ ‘ ๋งŒ๋“  ๊ทœ์น™ npm
๊ฒ€์ฆ Oracle ๊ณ„์•ฝ, TDD, ํ–‰๋™ ํ…Œ์ŠคํŠธ, ๋ธŒ๋ผ์šฐ์ €ยท์Šคํฌ๋ฆฐ์ƒท ์—์ด์ „ํŠธ ํ”Œ๋Ÿฌ๊ทธ์ธ
์„ค๊ณ„ ํ”„๋ก ํŠธ์—”๋“œ ์‹œ์Šคํ…œ ํŒจํ„ด, Figma ์ œํ’ˆยท๋žœ๋”ฉ ๋””์ž์ธ, ๋ชจ๋ฐ”์ผ ์›น๊ฒŒ์ž„ ๊ธฐํšยทํ”„๋กœํ† ํƒ€์ž… ์—์ด์ „ํŠธ ํ”Œ๋Ÿฌ๊ทธ์ธ
์—์ด์ „ํŠธ ์›Œํฌํ”Œ๋กœ ๊ทธ๋ž˜ํ”„ ์„ค๊ณ„๋ž‘ ์‹คํ–‰ ์—์ด์ „ํŠธ ํ”Œ๋Ÿฌ๊ทธ์ธ

์Šคํ‚ฌ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

์Šคํ‚ฌ ์ด๋ฆ„์„ ๋ˆ„๋ฅด๋ฉด ์‚ฌ์šฉ ์กฐ๊ฑด๊ณผ ์‹คํ–‰ ์ ˆ์ฐจ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”. ํ”Œ๋Ÿฌ๊ทธ์ธ ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ ์Šคํ‚ฌ์ด ๋“ค์–ด ์žˆ๊ธฐ๋„ ํ•ด์š”.

์Šคํ‚ฌ ํ•˜๋Š” ์ผ
eslint-setup ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” ESLint ํ”„๋ฆฌ์…‹์„ ์„ ํƒํ•˜๊ณ  ์„ค์ •ํ•ด์š”.
frontend-oracle-design Bend ๋ชจ๋ธยท์ฆ๋ช…๊นŒ์ง€ ํ•„์ˆ˜์ธ ๋™์ž‘ ๊ณ„์•ฝ๊ณผ ํ…Œ์ŠคํŠธยท๊ตฌํ˜„ยท๋ฆฌ๋ทฐ๋ฅผ ์กฐ์œจํ•ด์š”.
frontend-contract-design Bend ์—†์ด ์œ ํ•œ Space๋ฅผ ์ •์˜ํ•˜๊ณ  ์‹ค์ œ ํ…Œ์ŠคํŠธยทํƒ€์ž…ยท์†์„ฑ ์ฆ๊ฑฐ๋กœ ๊ฒ€์ˆ˜ํ•ด์š”.
frontend-system-design Oracle ์„ค๊ณ„์— ๊ฒ€์ƒ‰ยท์ฑ„ํŒ…ยท๊ฒฐ์ œ ๊ฐ™์€ ๊ธฐ๋Šฅ์˜ ๊ตฌํ˜„ ์„ ํƒ์ง€์™€ ์‹คํŒจ ๋Œ€์‘์„ ๋ณดํƒœ์š”.
test ํ”„๋ก ํŠธ์—”๋“œ ๋™์ž‘๊ณผ ํšŒ๊ท€ ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•˜๋Š” ์ž๋™ํ™” ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑยท์‹คํ–‰ํ•ด์š”.
frontend-visual-qa ์Šน์ธ๋œ ํ™”๋ฉด ๊ธฐ์ค€๊ณผ ์‹ค์ œ ๋ธŒ๋ผ์šฐ์ € ๋™์ž‘์„ ๋น„๊ตํ•ด ์‹œ๊ฐ์  ์˜ค๋ฅ˜๋ฅผ ์ฐพ์•„์š”.
reference-driven-figma-design ๋ ˆํผ๋Ÿฐ์Šค์™€ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๋ฐ”ํƒ•์œผ๋กœ ํŽธ์ง‘ ๊ฐ€๋Šฅํ•œ Figma ํ™”๋ฉด์„ ๋งŒ๋“ค์–ด์š”.
reference-driven-3d-character ๋ ˆํผ๋Ÿฐ์Šค ๊ธฐ๋ฐ˜ 3D ์บ๋ฆญํ„ฐ์˜ ๋„์•ˆยท๋ชจ๋ธยท์š”์ฒญํ•œ ๋™์ž‘์„ ๋งŒ๋“ค๊ณ  ๋‹จ๊ณ„๋ณ„๋กœ ๊ฒ€์ˆ˜ํ•ด์š”.
game-interface-design ๊ฒŒ์ž„ ์š”์ฒญ์„ ๊ธฐํšยทFigmaยทThree.js ๊ตฌํ˜„ ์ค‘ ๋งž๋Š” ์Šคํ‚ฌ๋กœ ์—ฐ๊ฒฐํ•ด์š”.
reference-driven-game-design ๋ชจ๋ฐ”์ผ ์›น๊ฒŒ์ž„์˜ ํ•ต์‹ฌ ๊ทœ์น™ยทํ”Œ๋ ˆ์ด ํ๋ฆ„ยทHUDยท์†๋ง›ยท๊ฒ€์ฆ ๊ณ„ํš์„ ๊ธฐํšํ•ด์š”.
threejs-game-wireframe ๊ธฐํš์„ ๋ฐ›์•„ FSDยทํ—ค๋“œ๋ฆฌ์Šค ECS ๊ตฌ์กฐ์˜ Three.js ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค๊ณ  ๊ฒ€์ฆํ•ด์š”.
ux-flow-diagram ๋ช…์‹œ์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๋ฉด Figmaยท์ฝ”๋“œยท์š”๊ตฌ์‚ฌํ•ญ์—์„œ ๊ทผ๊ฑฐ ์žˆ๋Š” ์‚ฌ์šฉ์ž ํ๋ฆ„๋„๋ฅผ ์ถ”์ถœํ•ด์š”.
agent-graph-engineering ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ์™€ ๋„๊ตฌ์˜ ๋ถ„๊ธฐยท๋ณ‘๋ ฌ ์ž‘์—…ยท์žฌ์‹œ๋„๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ์„ค๊ณ„ํ•˜๊ณ  ์‹คํ–‰ํ•ด์š”.
agent-memory-recall ํ˜„์žฌ ์ž‘์—…์— ํ•„์š”ํ•œ ๊ณผ๊ฑฐ ๊ธฐ๋ก์„ Agent Memory์—์„œ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์ฐพ์•„์š”.
agent-memory-log ์š”์ฒญํ•œ ์ž‘์—… ๊ธฐ๋ก์„ Obsidian Agent Memory์— ์ €์žฅํ•ด์š”.
agent-memory-todayilearned ์š”์ฒญํ•œ ๋ฐฐ์›€์„ ๋‚ ์งœ๋ณ„ TIL ๋…ธํŠธ๋กœ ์ •๋ฆฌํ•ด์š”.
agent-memory-generalize ์ž‘์—… ๊ธฐ๋ก์—์„œ ๋‹ค๋ฅธ ์ž‘์—…์—๋„ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…์„ ๊ทผ๊ฑฐ์™€ ํ•จ๊ป˜ ์ถ”์ถœํ•ด์š”.
agent-memory-p0-rules ๊ทœ์น™ ํ›„๋ณด์˜ ๊ทผ๊ฑฐ์™€ ๋ฒ”์œ„๋ฅผ ๊ฒ€ํ† ํ•ด ์ˆ˜๋™ ์Šน๊ฒฉ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•ด์š”.
agent-memory-maintenance Agent Memory์˜ ์ค‘๋ณตยท์˜ค๋ž˜๋œ ๊ธฐ๋กยท๋Š์–ด์ง„ ๋งํฌ๋ฅผ ์ ๊ฒ€ํ•˜๊ณ  ์ •๋น„ํ•ด์š”.

์Šคํ‚ฌ ๊ฝ‚๊ธฐ

Claude Code๋Š” ๋‘ ์ค„์ด๋ฉด ๋๋‚˜์š”.

/plugin marketplace add lodado/shareds
/plugin install vibe-coding-helper@my-vibe-coding-helper

vibe-coding-helper ์ž๋ฆฌ์— ์›ํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์ด๋ฆ„์„ ๋„ฃ์œผ๋ฉด ๋ผ์š”.

vibe-coding-helper
frontend-oracle-design
agent-graph-engineering
frontend-system-design
test
frontend-visual-qa
frontend-interface-design
reference-driven-3d-character
game-interface-design
ux-flow-diagram
agent-memory
developer-agents

ํŒจํ‚ค์ง€ ์•ˆ์— .claude-plugin/plugin.json์ด๋ž‘ .codex-plugin/plugin.json์ด ๊ฐ™์ด ๋“ค์–ด ์žˆ์–ด์š”. ๋‘˜ ๋‹ค ๊ฐ™์€ skills/ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ฝ์–ด์š”. ์Šคํ‚ฌ ํ•˜๋‚˜ ๋งŒ๋“ค๋ฉด ๋‘ ์—์ด์ „ํŠธ๊ฐ€ ๊ฐ™์ด ์จ์š”.

UX Flow Diagram

ux-flow-diagram runs only when explicitly invoked as $ux-flow-diagram. It reads Figma Prototype reactions, bounded codebase traces, requirements, or an existing Flow IR and produces evidence-aware JSON, Markdown, and Mermaid. Ordinary design or coding requests do not activate it. It never modifies Prototype connections; FigJam export requires a separate explicit request.

The Figma design skill separately creates approved Prototype connections while building interactive designs and verifies them by reading the reactions back.

ESLint ์“ฐ๊ธฐ

์„ค์ • ๊ธฐ์ค€: 2026-09-23

ESLint 10 ์ „์šฉ์ด์—์š”. base ํ”„๋ฆฌ์…‹์„ ๊น”๊ณ , ๊ทธ ์œ„์— ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ์–น์œผ๋ฉด ๋ผ์š”.

// eslint.config.mjs
import base from '@lodado/eslint-config'
import react from '@lodado/eslint-config/react'
import a11y from '@lodado/eslint-config/a11y'
import quality from '@lodado/eslint-config/quality'
import localRules from '@lodado/eslint-config/local-rules'

export default [...base, ...react, ...a11y, ...quality, ...localRules]

์“ธ ์ˆ˜ ์žˆ๋Š” ํ”„๋ฆฌ์…‹์ด์—์š”.

.(base) react next a11y turbo local-rules testing query quality fsd strict-types functional hook-tiers interaction tailwind ai design

ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ์œผ๋กœ ํ•จ๊ป˜ ์„ค์น˜๋˜์ง€๋งŒ, ๊ทœ์น™์€ ํ•ด๋‹น ํ”„๋ฆฌ์…‹์„ importํ•ด์•ผ ์ผœ์ ธ์š”.

  • base: disable ์‚ฌ์œ ยท๊ทœ์น™๋ช…์„ ์š”๊ตฌํ•˜๊ณ , ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” disable์„ ์˜ค๋ฅ˜๋กœ ์žก์•„์š”. ํƒ€์ž…์€ ํ†ต๊ณผํ•˜์ง€๋งŒ ๊ฒฐํ•จ์„ ์ˆจ๊ธฐ๋Š” asyncยทmutation ์Šต๊ด€(return Promise.resolve(), ๋ถˆํ•„์š”ํ•œ await, thenable ๊ฐ์ฒด, ์ฆ‰์‹œ mutation)๋„ ์žก์•„์š”.
  • react: ESLint React strict ์œ„์— React Compiler ์ง„๋‹จ(purityยทimmutabilityยทrefsยท static-componentsยทerror-boundariesยทuse-memo)๊ณผ exhaustive-deps๋ฅผ ์˜ค๋ฅ˜๋กœ ๊ฒ€์‚ฌํ•ด์š”. ๋ฆฌ์Šค๋„ˆยทfetchยทobserverยทํƒ€์ด๋จธ ๋ˆ„์ˆ˜๋Š” ๊ฒฝ๊ณ ํ•ด์š”.
  • tailwind: Tailwind v4 ํด๋ž˜์Šค์˜ ์˜คํƒ€ยท์ถฉ๋Œยท์ค‘๋ณต์„ ์žก์•„์š”. eslint-plugin-better-tailwindcss์™€ tailwindcss๋ฅผ ๋”ฐ๋กœ ์„ค์น˜ํ•˜๊ณ  CSS ์ง„์ž… ํŒŒ์ผ์„ ์•Œ๋ ค์ค˜์•ผ ํ•ด์š”.
  • ai: ํƒ€์ž… ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜๋Š” AI ์ฝ”๋“œ ๊ฒฐํ•จ์„ ์žก์•„์š”. .map(async), ๋กœ๊ทธ ํ›„ ์žฌthrow, ๊ฒ€์ฆ ์—†๋Š” JSON.parse, auth ์—†๋Š” ๋ผ์šฐํŠธ ๊ฐ™์€ ๊ฒƒ๋“ค์ด์—์š”. eslint-plugin-ai-guard๋ฅผ ๋”ฐ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•˜๊ณ , ๋‹ค๋ฅธ ํ”„๋ฆฌ์…‹์ด ๋” ์ •ํ™•ํžˆ ์žก๋Š” ๋ฃฐ์€ ๊บผ๋‘ฌ์š”.
  • design: ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๋ฒ—์–ด๋‚œ ๊ฐ’(bg-[#1A5276], p-[13px])์ด๋ž‘ dark modeยท๋ฐ˜์‘ํ˜• ๋ˆ„๋ฝ, 'use client'๋กœ ์ƒˆ์–ด ๋‚˜๊ฐ„ ์„œ๋ฒ„ ์ฝ”๋“œยทenv๋ฅผ ์žก์•„์š”. @deslint/eslint-plugin์„ ๋”ฐ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•˜๊ณ , Tailwind ํ…Œ๋งˆ๊ฐ€ ์‹ค์ œ๋กœ ์Šค์ผ€์ผ์„ ์ •์˜ํ•œ ๋ ˆํฌ์—์„œ๋งŒ ์˜๋ฏธ ์žˆ์–ด์š”.
  • strict-types: ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์€ Promise, Promise ์˜ค์šฉ, any์˜ ์ „ํŒŒ, ๋ถˆํ•„์š”ํ•œ ์กฐ๊ฑด, ๋ˆ„๋ฝ๋œ union ๋ถ„๊ธฐ๋ฅผ ํƒ€์ž… ์ •๋ณด๋กœ ๊ฒ€์‚ฌํ•ด์š”.
  • functional: domain/, selectors/ ์•„๋ž˜ TypeScript์™€ *.pure.ts ๊ณ„์‚ฐ ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝยทI/Oยท์‹œ๊ฐ„/๋‚œ์ˆ˜ ์ ‘๊ทผ์„ ์ œํ•œํ•ด์š”. ํ…Œ์ŠคํŠธ๋Š” ์ œ์™ธํ•˜๋ฉฐ .mtsยท.cts๋„ ์ง€์›ํ•ด์š”.
  • hook-tiers: ํŒŒ์ผ ๊ฒฝ๋กœ๋กœ ํ›… ๊ณ„์ธต์„ ํŒ์ •ํ•ด์š”. UI๋Š” hooks/use<Domain>/ ์ง„์ž…์ ๋งŒ ๋ถ€๋ฅด๊ณ , ๋„๋ฉ”์ธ ํ›…์€ ๋งˆ์ดํฌ๋กœ ํ›…๊ณผ ์ˆœ์ˆ˜ ํ•จ์ˆ˜๋ฅผ ์กฐํ•ฉ๋งŒ ํ•˜๊ณ , ๋งˆ์ดํฌ๋กœ ํ›…์€ ์ƒํƒœ ์†Œ์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ•˜๋‚˜๋งŒ ์—ฐ๊ฒฐํ•ด์š”. ์†Œ์œ ์ž๊ฐ€ ํ•˜๋‚˜๋ฟ์ธ ๋„๋ฉ”์ธ์€ ๋งˆ์ดํฌ๋กœ ํด๋” ์—†์ด ๋„๋ฉ”์ธ ํ›…์ด ๊ทธ ์†Œ์œ ์ž๋ฅผ ๋ฐ”๋กœ ์จ๋„ ๋ผ์š”.

strict-types์™€ functional์€ tsconfig๊ฐ€ ํ•„์š”ํ•˜๊ณ  ์„ ํƒํ•ด์„œ ์ถ”๊ฐ€ํ•ด์š”. next๋Š” @next/eslint-plugin-next๋งŒ ๋‹ด๊ณ  ์žˆ์–ด์„œ reactยทa11y์™€ ์ˆœ์„œ ์ƒ๊ด€์—†์ด ํ•ฉ์ณ์š”. ์ˆœ์ˆ˜ ์˜์—ญ ๋ฐ–์˜ I/OยทReact ์ฝ”๋“œ๊นŒ์ง€ ๊ธˆ์ง€ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ESLint๊ฐ€ ์™„์ „ํ•œ ์ˆœ์ˆ˜์„ฑ์„ ์ฆ๋ช…ํ•˜์ง€๋Š” ์•Š์•„์š”.

๋” ์ž์„ธํ•œ ๊ฑด ์—ฌ๊ธฐ ์žˆ์–ด์š”.

npm ๋ฐฐํฌ๋Š” ์•„์ง์ด์—์š”. ์ง€๊ธˆ์€ ์ด ๋ ˆํฌ๋ฅผ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋กœ ๊ฐ€์ ธ๋‹ค ์“ฐ๋ฉด ๋ผ์š”.

Oracle Design ์ž์„ธํžˆ

frontend-oracle-design์€ ๋™์ž‘ ๊ณ„์•ฝ๊ณผ ๊ฒ€์ฆ ํ๋ฆ„์„ ์กฐ์œจํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด์—์š”. ํ•œ ์ค„๋กœ ๋งํ•˜๋ฉด ๊ตฌํ˜„ ์ƒ์„ฑ๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฒ€์ฆ ํ•˜๋„ค์Šค์˜ˆ์š”.

์—์ด์ „ํŠธํ•œํ…Œ ๊ธฐ๋Šฅ์„ ์‹œํ‚ค๋ฉด ๋ณดํ†ต ์ด๋ž˜์š”. ์• ๋งคํ•œ ๋ถ€๋ถ„์„ ์ž๊ธฐ ๋งˆ์Œ๋Œ€๋กœ ์ •ํ•ด์š”. ํ…Œ์ŠคํŠธ๋Š” ํ†ต๊ณผํ–ˆ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ ๋ญ˜ ํ†ต๊ณผํ–ˆ๋Š”์ง€ ๋ชฐ๋ผ์š”. ๋‚˜์ค‘์— ๋ณด๋ฉด ์š”๊ตฌ์‚ฌํ•ญ์ด ์Šฌ์ฉ ๋ฐ”๋€Œ์–ด ์žˆ์–ด์š”.

Oracle์€ ๊ทธ๊ฑธ ๋ง‰์•„์š”. ์ •ํ•˜์ง€ ์•Š์€ ์ •์ฑ…์€ ์ •ํ•˜๊ธฐ ์ „๊นŒ์ง„ ์ง„ํ–‰ ์•ˆ ํ•ด์š”. ์Šน์ธ๋œ ๊ณ„์•ฝ์€ ํŒŒ์ผ๋กœ ์ž ๊ทธ๊ณ , ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ์ „๋ถ€ ์›์žฅ์— ๋‚จ๊ฒจ์š”.

์—ญํ• ๋ณ„ ์Šคํ‚ฌ

๋‘ ์ง„์ž… ์Šคํ‚ฌ ์ค‘ ๊ฒ€์ฆ ๋ฐฉ์‹์— ๋งž๋Š” ๊ฒƒ์„ ๋ช…์‹œ์ ์œผ๋กœ ์„ ํƒํ•ด์š”.

  • $frontend-oracle-design์€ formal-bend/v1์ž…๋‹ˆ๋‹ค. Bend ๋ชจ๋ธยท์ฆ๋ช…ยทAdequacy์™€ ๋ชจ๋ธ์—์„œ ํˆฌ์˜๋œ ์นด๋“œ๋ฅผ ์œ ์ง€ํ•ด์š”.
  • $frontend-contract-design์€ contract/v1์ž…๋‹ˆ๋‹ค. Bend ์—†์ด ์ถœ์ฒ˜๊ฐ€ ์žˆ๋Š” oracle.md์— ์œ ํ•œ full-product Space๋ฅผ ์ •์˜ํ•˜๊ณ , ์„ ์–ธ๋œ ์กฐํ•ฉ ์ „์ฒด์˜ ์ฒ˜๋ถ„๊ณผ ์‹ค์ œ ์‹คํ–‰ ์ฆ๊ฑฐ๋ฅผ ํ™•์ธํ•ด์š”.

Contract๋„ ์Šน์ธยทlockยทVALID_REDยทMedium ์—ฐ์† ํ†ต๊ณผยท๋…๋ฆฝ ๋ฆฌ๋ทฐ๋ฅผ ์ƒ๋žตํ•˜์ง€ ์•Š์•„์š”. ํƒ€์ž… ๊ฒฝ๊ณ„๊ฐ€ ์žˆ์œผ๋ฉด ์‹ค์ œ TypeScript/type-fest ์ฆ๊ฑฐ๋ฅผ, ํ™œ์„ฑ Async/Order๊ฐ€ ์žˆ์œผ๋ฉด ์‹ค์ œ fast-check ์ฆ๊ฑฐ๋ฅผ ์š”๊ตฌํ•ด์š”. ์œ ํ•œ Space์˜ ์™„์ „ํ•œ ๊ฒ€์ˆ˜๋Š” ๋ชจ๋“  ์ œํ’ˆ ๋™์ž‘์— ๋Œ€ํ•œ ํ˜•์‹ ์ฆ๋ช…์ด ์•„๋‹ˆ์—์š”. Formal ๊ฒ€์ฆ์„ ์š”๊ตฌํ•˜๋Š” ์ถœ์ฒ˜๊ฐ€ ์žˆ๋‹ค๋ฉด Contract ์„ ํƒ์œผ๋กœ ์šฐํšŒํ•  ์ˆ˜ ์—†์–ด์š”.

๋‘ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ํ˜„์žฌ ๋‹จ๊ณ„์— ํ•„์š”ํ•œ ์ „๋ฌธ ์Šคํ‚ฌ๋งŒ ๋ช…์‹œ์ ์œผ๋กœ ํ˜ธ์ถœํ•ด์š”. ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ํ•˜๋‚˜์ด๊ณ  ์ค‘๋ฆฝ Space ๊ฒ€์ˆ˜, runtime, lock๊ณผ ledger๋„ ํ•˜๋‚˜์˜ˆ์š”. ํ”„๋กœํ•„์€ ์Šน์ธ๋œ ์นด๋“œ์— ๊ณ ์ •๋˜๊ณ  ์‹คํ–‰ยทworkerยทreview ์ž…๋ ฅ๊นŒ์ง€ ์ผ์น˜ํ•ด์•ผ ํ•ด์š”. Bend๊ฐ€ ์—†๋‹ค๊ณ  Formal ์‹คํ–‰์„ Contract๋กœ ์ž๋™ ์ „ํ™˜ํ•˜์ง€ ์•Š์•„์š”.

์Šคํ‚ฌ ๋งก๋Š” ์ผ
frontend-oracle-design Formal ํ๋ฆ„ ์กฐ์œจ, ์‚ฌ์šฉ์ž ์Šน์ธ, lock, ์ƒํƒœ ์ „์ด์™€ ์ตœ์ข… ๋ณด๊ณ 
frontend-contract-design Contract ํ๋ฆ„ ์กฐ์œจ, ์‚ฌ์šฉ์ž ์Šน์ธ, lock, ์ƒํƒœ ์ „์ด์™€ ์ตœ์ข… ๋ณด๊ณ 
oracle-intake ์ถœ์ฒ˜ยท์œ„ํ—˜ ์กฐ์‚ฌ, capability ํ™•์ธ, discovery ์ถ• ์งˆ๋ฌธ
oracle-author Formal ๋ชจ๋ธยทํˆฌ์˜ Draft ๋˜๋Š” Contract Spaceยท์นด๋“œ ์ž‘์„ฑ
oracle-implement lock๊ณผ VALID_RED ์ดํ›„ ํ—ˆ์šฉ๋œ ์ œํ’ˆ ์ฝ”๋“œ ๊ตฌํ˜„
oracle-review ๋…๋ฆฝ ์ปจํ…์ŠคํŠธ์˜ ๊ณ„์•ฝยท๊ตฌํ˜„ยท๊ทผ๊ฑฐ ๋ฆฌ๋ทฐ

ํ…Œ์ŠคํŠธ ์ž‘์„ฑ์€ ๊ธฐ์กด $test๋ฅผ ์žฌ์‚ฌ์šฉํ•ด์š”. ์ „๋ฌธ ์Šคํ‚ฌ์„ ์ง์ ‘ ํ˜ธ์ถœํ•ด๋„ ์Šน์ธ์ด๋‚˜ ์„ ํ–‰ ๊ฒ€์ฆ์„ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์—†์–ด์š”. ์„ ํ–‰์กฐ๊ฑด์ด ์—†์œผ๋ฉด ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋Œ์•„์™€์š”.

์–ด๋–ป๊ฒŒ ๋„๋‚˜์š”

  ์š”์ฒญ
   โ”‚
   โ”œโ”€ ๋ชจ๋ธํ™”ํ•  ๋™์ž‘ ์—†์Œ โ”€โ”€โ–ถ OUT_OF_SCOPE: $test / ์‹œ๊ฐ ๊ฒ€์ฆ / ๋‹จ์ˆœ ์ˆ˜์ •
   โ”‚
   โ””โ”€ ๋ชจ๋ธํ™”ํ•  ๋™์ž‘ ์žˆ์Œ (Low / Medium / High)
          โ”‚
          โ–ผ
      โ‘  DEFINE     Outcome BriefยทSource Registryยท๊ณ„์•ฝ ํ–‰ ์ž‘์„ฑ + ์‚ฌ์šฉ์ž ํ™•์ธ
          โ”‚
          โ–ผ
      โ‘ก LOCK       ์Šน์ธํ•œ ์นด๋“œ์™€ ์ •์ฑ… ์ถœ์ฒ˜์˜ ๋‚ด์šฉ ์ง€๋ฌธ ๊ณ ์ •
          โ”‚
          โ–ผ
      โ‘ข PROVE      VALID_RED๋กœ ๊ธฐ๋Šฅ ๋ถ€์กฑ ๋•Œ๋ฌธ์— ์‹คํŒจํ•˜๋Š”์ง€ ์ฆ๋ช…
          โ”‚
          โ–ผ
      โ‘ฃ BUILD      ์ตœ์†Œ ๊ตฌํ˜„, GREEN, ์‹คํ–‰ ์ฆ๊ฑฐ์™€ ledger ๊ธฐ๋ก
          โ”‚
          โ–ผ
      โ‘ค REVIEW     ํ‘œ์ค€์€ ๋…๋ฆฝ ๋ฆฌ๋ทฐ 1๋ช…, High-risk๋Š” ๋…๋ฆฝ ๋ฆฌ๋ทฐ 2๋ช…๊ณผ join
          โ”‚
          โ–ผ
      โ‘ฅ CERTIFY    lockยท์ฆ๊ฑฐยทreview receipt๋ฅผ ์žฌ๊ฒ€์‚ฌํ•ด REVIEW_VERIFIED

  ์˜† ์ถœ๊ตฌ
  POLICY_GAP                   โ”€โ”€โ–ถ ์‚ฌ๋žŒ์˜ ์ •์ฑ… ๊ฒฐ์ • ๋Œ€๊ธฐ
  PRODUCT_DEFECT               โ”€โ”€โ–ถ BUILD
  EVIDENCE_GAP/HARNESS_DEFECT  โ”€โ”€โ–ถ ์ฆ๊ฑฐ๋งŒ ๋ณด์ •ํ•œ ๋’ค BUILD
  FAIL                         โ”€โ”€โ–ถ ์žฅ๋ถ€ ์ „/ํ›„๋ฅผ ๊ตฌ๋ถ„ํ•ด ์ •์ง€

์ด๊ฑด ์‚ฌ๋žŒ์ด ์ฝ๋Š” 6๋‹จ๊ณ„ ์šด์˜ ํ™”๋ฉด์ด์—์š”. ์‹ค์ œ Controller๋Š” ์‚ฌ์šฉ์ž ์Šน์ธ, ์‹คํŒจ ์ฆ๋ช…๊ณผ ๊ตฌํ˜„, ์‹œ๊ฐ ์ฆ๊ฑฐ ๋Œ€๊ธฐ, ํ‘œ์ค€/High-risk ๋ฆฌ๋ทฐ, ์žฅ๋ถ€ ์ „ํ›„ ์ •์ง€๋ฅผ ๋ณ„๋„ Node๋กœ ์œ ์ง€ํ•ด์š”. ์ •ํ™•ํ•œ NodeยทEdgeยทfallbackยทterminal ์ˆ˜์™€ ์ „์ฒด ๊ทธ๋ž˜ํ”„๋Š” ํŒจํ‚ค์ง€ README๊ฐ€ ์›๋ณธ JSON์—์„œ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๊ทœ์น™ ๋ช‡ ๊ฐœ

  • ์ •์ฑ… ์ถœ์ฒ˜๋Š” ์Šน์ธ๋œ ๋ฌธ์„œ์˜ˆ์š”. ๊ธฐ์กด ์ฝ”๋“œ๋‚˜ ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ € ๋™์ž‘์€ ์ฆ๊ฑฐ์ผ ๋ฟ ๊ทผ๊ฑฐ๊ฐ€ ์•„๋‹ˆ์—์š”
  • ์นด๋“œ ์Šน์ธ ์ „์—๋Š” production ์ฝ”๋“œ๋ฅผ ๋ชป ๊ฑด๋“œ๋ ค์š”
  • ์ •์ฑ…์ด ๋ฐ”๋€Œ๋ฉด ์ž ๊ธด ํŒŒ์ผ์„ ๊ณ ์น˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์ƒˆ revision์„ ๋งŒ๋“ค์–ด์š”
  • assertion ์•ฝํ™”, test.skip, ์ž„์˜ sleep์€ ๊ธˆ์ง€์˜ˆ์š”
  • ๋ณด๊ณ ํ•  ๋•Œ ๋ง๋กœ ํ’€์ง€ ์•Š๊ณ  runId๋ฅผ ์ธ์šฉํ•ด์š”

๋๋‚˜๋Š” ์ƒํƒœ

์ƒํƒœ ๋œป
ORACLE_READY ์Šน์ธํ•œ ์นด๋“œ๋ฅผ ์ž ๊ฐ”์–ด์š”. Design-only๋Š” ์—ฌ๊ธฐ์„œ ๋ฉˆ์ถ”๊ณ , Delivery ๊ตฌํ˜„์€ VALID_RED ์ดํ›„์—๋งŒ ํ•ด์š”
IMPLEMENTED_GREEN ๊ตฌํ˜„ ๊ฒ€์ฆ์€ ํ†ต๊ณผํ–ˆ์ง€๋งŒ ์‹œ๊ฐ ์ฆ๊ฑฐ ๋Œ€๊ธฐ๋ฉด ์—ฌ๊ธฐ์„œ ์žฌ๊ฐœํ•ด์š”. ์ตœ์ข… ์™„๋ฃŒ๋Š” ์•„๋‹ˆ์—์š”
REVIEW_VERIFIED ๋ฆฌ๋ทฐ finding๊นŒ์ง€ ๋ฐ˜์˜ํ•˜๊ณ  ์žฌํ†ต๊ณผํ–ˆ์–ด์š”
NEEDS_DECISION ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”๊พธ๋Š” ์ •์ฑ…์ด ๋ฏธ๊ฒฐ์ด์—์š”. ์งˆ๋ฌธ์„ ๋ฑ‰์–ด์š”
FAIL ํ™˜๊ฒฝยทํ•˜๋„ค์Šค ๋ฌธ์ œ๋‚˜ ์˜ˆ์‚ฐ ์†Œ์ง„์œผ๋กœ ํŒ์ • ๋ถˆ๊ฐ€์˜ˆ์š”

๋ฌดํ•œ ๋ฃจํ”„ ๋ฐฉ์ง€

ํ”ผ๋“œ๋ฐฑ์€ ์›์ธ๋ณ„๋กœ ๋‚˜๋ˆ ์„œ ์˜ˆ์‚ฐ์„ ์จ์š”. ์˜ˆ์‚ฐ ๋‹ค ์“ฐ๋ฉด BUDGET_EXHAUSTED๋กœ ๋ฉˆ์ถฐ์š”.

๋ถ„๋ฅ˜ ์˜ˆ์‚ฐ ์ฒ˜๋ฆฌ
POLICY_GAP 2 ์งˆ๋ฌธ ์ถœ๋ ฅํ•˜๊ณ  NEEDS_DECISION
HARNESS_DEFECT 2 ํ…Œ์ŠคํŠธ ํ•˜๋„ค์Šค๋งŒ ๋ณด์ •ํ•ด์š”
PRODUCT_DEFECT 3 VALID_RED ๋’ค์— ๊ตฌํ˜„์„ ๊ณ ์ณ์š”
EVIDENCE_GAP - ์ž ๊ธด ๋ฒ”์œ„ ์•ˆ์—์„œ ๋งคํ•‘์„ ์ฑ„์›Œ์š”
ENVIRONMENT_DEFECT - production ์•ˆ ๊ฑด๋“œ๋ฆฌ๊ณ  FAIL
NON_ORACLE_OPINION - ๊ธฐ๋ก๋งŒ ํ•˜๊ณ  ์™„๋ฃŒ๋ฅผ ๋ง‰์ง€ ์•Š์•„์š”

๋”ธ๋ฆฐ ์Šคํฌ๋ฆฝํŠธ

ํŒ์ •์€ ๋ง์ด ์•„๋‹ˆ๋ผ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•ด์š”.

oracle-verify.mjs   card | red | evidence | findings | review | scan
oracle-lock.mjs     create | verify
oracle-run.mjs      init | status | exec | transition | budget | review-packet | review-brief
generate-workflow-docs.mjs       README ๊ทธ๋ž˜ํ”„ ์š”์•ฝ ์ƒ์„ฑ | --check

review-brief๋Š” ํ˜„์žฌ ๋ฆฌ๋ทฐ ๊ทผ๊ฑฐ์—์„œ ์‚ฌ์šฉ์ž ๋ชฉํ‘œยท์ฐจ๋‹จ ํ•ญ๋ชฉยท๋ฏธ์™„๋ฃŒ ์ฆ๊ฑฐยท๋น„์ฐจ๋‹จ ์˜๊ฒฌ์„ ๋ชจ์€ ์ฝ๊ธฐ ์ „์šฉ ์š”์•ฝ์ž…๋‹ˆ๋‹ค. ์›๋ณธ ์นด๋“œยท๋ฆฌ๋ทฐ ์ž…๋ ฅ์ด๋‚˜ ์Šน์ธ ์ ˆ์ฐจ๋ฅผ ๋Œ€์ฒดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ˜ผ์ž ๋‹ค ํ•˜์ง€๋Š” ์•Š์•„์š”. ํ…Œ์ŠคํŠธ ์ž‘์„ฑยทํŒ์ •์€ test, ์Šคํฌ๋ฆฐ์ƒท์ด๋ž‘ ๋ธŒ๋ผ์šฐ์ €๋Š” frontend-visual-qa, ๊ธฐ๋Šฅ๋ณ„ ๊ตฌํ˜„ ์„ ํƒ์ง€๋Š” frontend-system-design์ด ๊ฐ€์ ธ๊ฐ€์š”.

์ž์„ธํ•œ ๊ฑด ์Šคํ‚ฌ ๋ฌธ์„œ์— ์žˆ์–ด์š”.

ํŒจํ‚ค์ง€

npm์œผ๋กœ ๋‚˜๊ฐˆ ๊ฒƒ๋“ค์ด์—์š”.

ํŒจํ‚ค์ง€ ์„ค๋ช…
@lodado/eslint-config ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ์ผœ๋Š” ์กฐํ•ฉํ˜• ํ”„๋ฆฌ์…‹
@lodado/eslint-plugin-local-rules ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ™์ด ์“ฐ๋Š” ๊ทœ์น™

์—์ด์ „ํŠธ์— ๊ฝ‚๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด์—์š”.

ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค๋ช…
vibe-coding-helper ESLint ๋„์ž…์ด๋ž‘ ๋ ˆํฌ ์ปจ๋ฒค์…˜
frontend-oracle-design Formal OracleยทBend ์—†๋Š” Contract ๋‘ ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋„ค ๊ณต์œ  ์ „๋ฌธ ์Šคํ‚ฌ, TDDยท๊ทผ๊ฑฐยท๋ฆฌ๋ทฐ
agent-graph-engineering ์—์ด์ „ํŠธ ์›Œํฌํ”Œ๋กœ ๊ทธ๋ž˜ํ”„ ์„ค๊ณ„๋ž‘ ์‹คํ–‰
frontend-system-design ์ž˜ ์•Œ๋ ค์ง„ ํ”„๋ก ํŠธ์—”๋“œ ๋ฌธ์ œ์˜ ์„ค๊ณ„ ํŒจํ„ด
test Oracle ๊ธฐ๋ฐ˜ ๊ฒฐ์ •๋ก ์  ํ–‰๋™ ํ…Œ์ŠคํŠธ
frontend-visual-qa ์Šคํฌ๋ฆฐ์ƒท ๋น„๊ต๋ž‘ ์ง์ ‘ ๋ธŒ๋ผ์šฐ์ € QA
frontend-interface-design $reference-driven-figma-design: HCIยท๋ ˆํผ๋Ÿฐ์Šค ๋น„๊ต โ†’ ๋Ÿฌํ”„ ์™€์ด์–ดํ”„๋ ˆ์ž„ ์„ค๋ช… โ†’ ํŽธ์ง‘ ๊ฐ€๋Šฅ Figma ๋””์ž์ธ
reference-driven-3d-character ๋ ˆํผ๋Ÿฐ์Šค ํ•ด์„, ํ˜•ํƒœยท๋ณ€ํ˜•ยท๋™์ž‘ ์„ค๊ณ„, ํŽธ์ง‘ ๊ฐ€๋Šฅํ•œ 3D ์บ๋ฆญํ„ฐ์˜ ๋‹จ๊ณ„๋ณ„ ์ œ์ž‘ยท๊ฒ€์ฆ
game-interface-design ๋ชจ๋ฐ”์ผ ์›น๊ฒŒ์ž„ ๊ธฐํš โ†’ ์„ ํƒํ˜• Figma UI โ†’ FSDยทECS Three.js ๊ทธ๋ ˆ์ด๋ฐ•์Šค
developer-agents Claude Code ์„œ๋ธŒ์—์ด์ „ํŠธ ๋‘ ๊ฐœ: FSD๋กœ UI์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‚˜๋ˆ„๋Š” frontend-developer, 3๊ณ„์ธตยทํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜ยทDDD๋กœ ์„œ๋ฒ„๋ฅผ ์งœ๋Š” backend-developer

๊ฐœ๋ฐœ

pnpm ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ž‘ Turborepo๋กœ ๊ตด๋Ÿฌ๊ฐ€์š”.

pnpm install
pnpm lint
pnpm test
pnpm changeset

main์ด๋ž‘ dev์— pushํ•˜๊ฑฐ๋‚˜ PR ์˜ฌ๋ฆฌ๋ฉด lint๋ž‘ test๊ฐ€ ๋Œ์•„์š”. npm ๋ฆด๋ฆฌ์Šค๋Š” ์กฐ๊ฑด์ด ๋‘ ๊ฐœ์˜ˆ์š”. ๋ ˆํฌ ๋ณ€์ˆ˜ ENABLE_NPM_RELEASE๊ฐ€ true์—ฌ์•ผ ํ•˜๊ณ , @lodado/*๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” NPM_TOKEN์ด ์žˆ์–ด์•ผ ํ•ด์š”.

๋ผ์ด์„ ์Šค

MIT ยฉ lodado

Agent Memory

Agent Memory ํŒจํ‚ค์ง€๋Š” recall โ†’ ์ž‘์—… โ†’ log โ†’ ์„ ํƒ์  TIL/generalize โ†’ ๊ฒ€ํ† ๋œ ๊ทœ์น™ ์Šน๊ฒฉ ๋ฃจํ”„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 6๊ฐœ ์Šคํ‚ฌ์„ Claude, Codex, jcode, Cursor, ๊ณต์šฉ .agents ๊ฒฝ๋กœ์— ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด Vault๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜๊ฑฐ๋‚˜ ๊ทœ์น™์„ ์ž๋™ ์Šน๊ฒฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

About

coding agent's cyberbrain ๐Ÿคช

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages