npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

team-conor

v2.1.0

Published

AI 코딩 어시스턴트를 위한 팀 페르소나 시스템 - 체크리스트 기반 코드 리뷰

Downloads

775

Readme

Team Conor

AI와 함께 올바른 의사결정을 연습하는 팀 시뮬레이터입니다.

왜 필요한가?

AI에게 "이거 어떻게 해?"라고 물으면, AI는 답을 줍니다. 문제는 그 답이 맞는지 판단하는 건 여전히 내 몫이라는 것입니다.

혼자 개발하면 의사결정의 사각지대가 생깁니다. "왜 이 기술을 선택했는가?", "이 설계의 트레이드오프는?", "사용자 관점에서 이게 맞는가?" — 이런 질문을 스스로에게 던지기 어렵습니다. AI에게 모든 결정을 맡기면 더 위험합니다. 맥락 없는 답은 맞아도 틀립니다.

실제 팀에서는 다릅니다. PM은 "이거 MVP에 필요해?"라고 묻고, 디자이너는 "사용자가 이해해?"라고 되묻고, 백엔드 개발자는 "100만 유저면?"이라고 따집니다. 답을 주는 게 아니라 질문을 던집니다. 그 질문을 받으면서 스스로 생각하고, 선택하고, 그 근거를 기록합니다.

Team Conor는 이 경험을 만들어줍니다:

  • 다양한 관점에서 질문받기 — 8명의 전문가가 각자의 영역에서 "왜?"를 묻습니다
  • 스스로 결정하기 — AI가 결정하지 않습니다. 선택지와 트레이드오프를 제시하고, 결정은 당신이 합니다
  • 결정을 기록하기 — 무엇을, 왜 선택했는지 Zettelkasten 메모리에 남겨 맥락을 축적합니다

설치

npx team-conor

CLI 옵션

# 대화형 설정 (기본)
npx team-conor

# AI 도구 선택 (claude, codex, 또는 커스텀 파일명)
npx team-conor --agent claude
npx team-conor --agent codex
npx team-conor --agent claude codex  # 동시에 여러 도구 지원

# 비대화형 모드 (CI/CD 등 인터렉션 불가 환경)
npx team-conor --name "홍길동" --agent claude --no-interaction

# 기존 파일 강제 덮어쓰기
npx team-conor --name "홍길동" -y

# 도움말 / 버전 확인
npx team-conor --help
npx team-conor --version

생성되는 파일

CLAUDE.md / AGENTS.md            # 에이전트 진입점 → .conor/CONOR.md 읽기 지시
.conor/
├── CONOR.md                     # XML 라우팅 (context + personas + instructions)
├── persona/                     # 팀원 페르소나
│   ├── user.md                  # 사용자 (프로젝트 오너)
│   ├── planner.md               # 스티브 (제품 전략)
│   ├── pm.md                    # 엘런 (실행 PM)
│   ├── designer.md              # 마르코 (UX)
│   ├── frontend.md              # 유나 (Frontend)
│   ├── backend.md               # 빅토르 (Backend)
│   ├── game.md                  # 레이나 (Game Client)
│   ├── app.md                   # 하루 (App)
│   └── ai.md                    # 노아 (AI Reliability)
├── workflows/                   # 워크플로우 (순수 마크다운)
│   ├── work.md                  # 작업 + 메모리 규칙
│   ├── review.md                # 코드 리뷰
│   ├── meeting.md               # 구조화된 의사결정 회의
│   ├── deep-plan.md             # 딥 모드: 문제 발굴 (스티브)
│   ├── deep-design.md           # 딥 모드: 디자인 근거 (마르코)
│   ├── deep-server.md           # 딥 모드: 시스템 설계 (빅토르)
│   ├── deep-client.md           # 딥 모드: 클라이언트 설계 (유나)
│   ├── deep-game.md             # 딥 모드: 게임 클라이언트 설계 (레이나)
│   ├── deep-app.md              # 딥 모드: 앱 설계 (하루)
│   └── deep-ai.md               # 딥 모드: AI 신뢰성 설계 (노아)
└── memory/                      # Zettelkasten 기반 메모리
    ├── summary.md               # 인덱스 (항상 AI 컨텍스트에 로드)
    ├── _schema/                 # chunk 형식 정의
    │   ├── learning.md          # 학습 기록 스키마
    │   ├── decision.md          # 의사결정 기록 스키마
    │   └── project.md           # 프로젝트 정보 스키마
    └── chunks/                  # 원자적 메모 저장소

팀 구성

| 이름 | 역할 | 관점 | 핵심 질문 | |------|------|------|-----------| | 스티브 | 제품 전략 | 증상 뒤의 진짜 문제 | "왜 이게 필요해?" | | 엘런 | 실행 PM | 범위와 우선순위 | "MVP에 이게 필요해?" | | 마르코 | UX | 사용자 멘탈 모델 | "사용자가 이해해?" | | 유나 | Frontend | 브라우저와 성능 | "번들 사이즈 얼마야?" | | 빅토르 | Backend | 비용과 지속가능성 | "이거 지금 필요해?" | | 레이나 | Game Client | 렌더링/프레임/입력 안정성 | "프레임 드랍 원인 추적 가능해?" | | 하루 | App | 앱 UX/상태/배포 품질 | "실기기에서 안정적으로 동작해?" | | 노아 | AI Reliability | 재현성/평가/복구 | "재현·평가·복구 가능한가?" |

사용법

질문받기 — 팀원 호출

유나, 이 컴포넌트 구조 어떻게 생각해?
빅토르, 이 API 설계 괜찮아?
스티브, 이 기능 진짜 필요한 거 맞아?
레이나, 이 게임 루프 구조에서 병목이 어디야?
하루, 이 앱 상태 관리 구조 괜찮아?
노아, 이 AI 기능을 안정적으로 운영하려면 뭐부터 설계해야 해?

페르소나는 답을 주기 전에 질문부터 합니다. "왜 이렇게 했는가?"를 파고듭니다.

의사결정 — 팀 회의

회의하자, 이 기능 어떻게 구현할지

구조화된 절차를 따릅니다: 맥락 정의 → 선택지 도출 → 트레이드오프 → 사용자가 결정 → 결정 기록(D-chunk).

심층 분석 — 딥 모드

마르코, 이 부분 사용성에 대해서 심층적으로 탐구해줘

특정 영역을 깊이 파고들 때 해당 페르소나의 딥 모드가 활성화됩니다:

  • 스티브 딥 모드: "왜?"를 3번 파고들어 진짜 문제를 찾고, 선택지 3개(안 하기 / 최소 변화 / 제대로)를 도출
  • 마르코 딥 모드: 정보 위계, 인터랙션 원칙, 디자인 근거서 작성
  • 빅토르 딥 모드: 현재 시스템 파악 → 비용 분석 → 실용적 설계 → 실패 시나리오
  • 유나 딥 모드: 사용자 경험 → 브라우저 네이티브 검토 → 컴포넌트/상태 설계 → 성능 예산
  • 레이나 딥 모드: 게임 루프/렌더링 파이프라인 점검 → 프레임 타임 예산 → 입력/동기화 설계
  • 하루 딥 모드: 사용자 플로우 점검 → 상태/내비게이션 설계 → 앱 성능/배포 안정성 검토
  • 노아 딥 모드: 3R Gate 점검(재현성/평가/복구) → 실패 케이스 고정 → 가드레일/롤아웃 설계

기록하기 — Memory 시스템

모든 의사결정과 학습은 자동으로 기록됩니다:

  • D-chunk: 기술 선택, 아키텍처 결정 (왜 이걸 선택했는가)
  • L-chunk: 버그 해결, 패턴 발견 (다음에 또 겪지 않으려면)
  • P-chunk: 프로젝트 구조, 빌드, 배포 (맥락을 잃지 않으려면)

설계 철학

도구 독립적 아키텍처

.claude/commands/.agents/skills/ 같은 도구별 파일을 생성하지 않습니다. 어떤 AI 도구든 .conor/CONOR.md만 읽으면 동작합니다. CONOR.md<instructions> 블록이 자연어로 워크플로우를 라우팅합니다.

CLAUDE.md / AGENTS.md
  → .conor/CONOR.md (<instructions> 자연어 라우팅)
    → .conor/workflows/*.md (순수 마크다운)

컨텍스트 절약

워크플로우 파일은 해당 상황에 정확히 부합할 때만 읽습니다. 불필요하게 여러 파일을 읽으면 컨텍스트가 오염되므로, 한 번에 하나의 워크플로우만 활성화됩니다.

멀티 에이전트 지원

--agent 옵션으로 여러 AI 도구를 동시에 지원할 수 있습니다:

  • Claude Code: CLAUDE.md 생성
  • Codex: AGENTS.md 생성
  • 모든 에이전트 파일은 .conor/CONOR.md를 읽도록 지시하는 역할만 수행

업데이트 지원

이미 설정된 프로젝트에서 npx team-conor를 다시 실행하면:

  • 기존 파일과 비교하여 diff 표시
  • 덮어쓰기 / 건너뛰기 / 백업 선택 가능
  • memory 파일은 자동으로 보존 (축적된 맥락 보호)
  • 이전 버전에서 자동 마이그레이션

라이선스

MIT