Dropstone Docs

핵심 개념

Dropstone을 작동하게 만드는 에이전트 루프, 도구 시스템, 세션, 컨텍스트 창, 권한 모델을 이해합니다.

Dropstone은 터미널에서 실행되는 에이전트형 코딩 도구입니다. 코드를 읽고, 명령을 실행하고, 변경을 계획하고, 파일을 편집하고, 결과를 검증할 수 있습니다. 이 페이지에서는 한 번만 배우면 되는 핵심 아이디어를 다룹니다: 에이전트가 실행되는 루프, 접근할 수 있는 것, 세션 작동 방식, 컨텍스트 관리 방식, 그리고 권한이 어떻게 통제권을 유지하게 하는지입니다.

에이전트 루프

Dropstone에 작업을 주면 컨텍스트 수집, 작업 실행, 결과 검증의 세 단계로 진행됩니다. 이 단계들은 서로 섞여 있습니다. Dropstone은 코드를 이해하기 위해 파일을 읽거나, 변경하기 위해 편집하거나, 작업을 확인하기 위해 테스트를 실행하는 등 전체 과정에서 도구를 사용합니다.

1단계
컨텍스트 수집
파일을 읽고, 심볼을 grep하고, git 상태를 확인하고, 작업이 모호하면 후속 질문을 합니다.
2단계
작업 실행
파일을 편집하고, 새 코드를 작성하고, 셸 명령을 실행합니다. 변경 사항은 승인을 위해 표시되며, 파괴적인 작업은 조용히 실행되지 않습니다.
3단계
결과 검증
타입 검사, 테스트, 린트가 있으면 실행합니다. 검증이 실패하면 컨텍스트 수집으로 돌아갑니다.
언제든 Esc를 눌러 중단하고 방향을 바꿀 수 있습니다.

루프는 요청에 따라 적응합니다. 코드베이스에 대한 질문은 컨텍스트 수집만 필요할 수 있습니다. 버그 수정은 세 단계를 모두 순환합니다. 대규모 리팩터링은 많은 검증을 수반할 수 있습니다. Dropstone은 이전 단계에서 배운 내용을 바탕으로 각 단계에 필요한 것을 결정하고, 수십 개의 작업을 연결하고, 그 과정에서 방향을 수정합니다.

당신도 이 루프의 일부입니다. 언제든 중단하여 방향을 바꾸거나, 컨텍스트를 추가하거나, 다른 접근 방식을 요청할 수 있습니다. Dropstone은 자율적으로 작동하지만 입력에 계속 반응합니다.

에이전트 루프는 두 가지 구성 요소로 구동됩니다: 추론하는 모델과 행동하는 도구입니다.

모델

Dropstone은 목적에 맞게 제작된 코딩 모델을 사용합니다. 각각 다른 종류의 작업에 맞게 조정된 세 가지 등급이 있습니다:

등급가장 적합한 작업
Fast빠른 편집, 스캐폴딩, 단일 파일 리팩터링, 대화형 디버깅
Pro다중 파일 리팩터링, 교차 변경, 더 넓은 추론
Heavy아키텍처 결정, 대규모 마이그레이션, 모호하거나 연구가 많은 디버깅

세션 중에 /effort low, /effort medium, /effort high, /effort xhigh로 등급을 전환하거나 Ctrl+T로 순환할 수 있습니다. 이 가이드에서 "Dropstone이 결정합니다" 또는 "Dropstone이 선택합니다"라고 말할 때는 모델이 추론을 수행하는 것입니다.

도구

도구는 Dropstone을 에이전트형으로 만드는 요소입니다. 도구가 없으면 모델은 텍스트만 생성할 수 있습니다. 도구가 있으면 코드를 읽고, 파일을 편집하고, 명령을 실행하고, 웹을 검색하고, 외부 서비스와 상호 작용할 수 있습니다. 각 도구 결과는 루프에 다시 공급되어 다음 결정에 정보를 제공합니다.

내장 도구는 다� 가지 범주로 나뉩니다:

범주Dropstone이 할 수 있는 작업
파일 작업파일 읽기, 코드 편집, 새 파일 생성, 이름 변경 및 재구성
검색glob 패턴으로 파일 찾기, regex로 콘텐츠 검색, 프로젝트 구조 탐색
실행셸 명령 실행, 서버 시작, 테스트 실행, git 사용
웹 검색, 문서 가져오기, 오류 메시지 조회
코드 인텔리전스LSP를 통해 타입 오류 읽기, 정의로 이동, 참조 찾기

Dropstone은 프롬프트와 그 과정에서 배운 내용을 바탕으로 사용할 도구를 선택합니다. "실패하는 테스트를 고쳐줘"라고 말하면 다음과 같이 할 수 있습니다:

  1. 테스트 스위트를 실행하여 무엇이 실패하는지 확인
  2. 오류 출력 읽기
  3. 관련 소스 파일 검색
  4. 해당 파일을 읽어 코드 이해
  5. 문제를 해결하기 위해 편집
  6. 테스트를 다시 실행하여 검증

각 도구 사용은 다음 단계에 정보를 제공하는 정보를 반환합니다. 이것이 실제로 작동하는 에이전트 루프입니다.

내장 도구는 기반입니다. 스킬로 Dropstone이 아는 것을 확장하고, MCP 서버로 외부 서비스에 연결하고, 서브에이전트로 작업을 위임할 수 있습니다. 내장 도구의 전체 목록은 내장 도구를 참조하세요.

Dropstone이 접근할 수 있는 것

디렉토리에서 dropstone을 실행하면 에이전트는 다음에 접근할 수 있습니다:

  • 프로젝트. 작업 디렉토리와 하위 디렉토리의 파일, 그리고 권한이 있는 다른 파일.
  • 터미널. 직접 실행할 수 있는 모든 명령: 빌드 도구, git, 패키지 관리자, 시스템 유틸리티, 스크립트. 명령줄에서 할 수 있다면 Dropstone도 할 수 있습니다.
  • git 상태. 현재 브랜치, 커밋되지 않은 변경 사항, 스테이징된 파일, 최근 커밋 기록.
  • AGENTS.md. 저장소 루트에 있는 마크다운 파일로, 프로젝트별 규칙, 빌드 명령, 주의 사항, 그리고 Dropstone이 매 세션 알아야 할 모든 것을 작성합니다.
  • 구성한 확장. 외부 서비스용 MCP 서버, 워크플로용 스킬, 위임 작업용 서브에이전트.

Dropstone은 전체 프로젝트를 볼 수 있으므로 프로젝트 전체에서 작업할 수 있습니다. "인증 버그를 고쳐줘"라고 요청하면 관련 파일을 검색하고, 여러 파일을 읽어 컨텍스트를 이해하고, 파일 전체에 걸쳐 조정된 편집을 수행하고, 테스트를 실행하여 검증하고, 요청하면 커밋합니다. 이는 현재 파일만 볼 수 있는 인라인 코드 어시스턴트와 다릅니다.

세션

모든 대화형 세션은 로컬에 저장됩니다. 각 메시지, 도구 사용, 결과는 세션 기록에 기록되며, 이를 통해 실행 취소, 재개 및 포크가 가능합니다.

세션은 독립적입니다. 새 세션은 이전 대화에 대한 기억 없이 새 컨텍스트 창으로 시작합니다. 지속적인 지식은 대화 기록이 아닌 AGENTS.md에 속합니다.

세션 재개 또는 포크

dropstone --continue(또는 dropstone -c)로 재개하면 현재 디렉토리의 가장 최근 세션을 다시 열고 새 메시지를 추가합니다. 특정 세션을 ID로 재개하려면 dropstone --session <id>를 사용합니다.

# 이 디렉토리의 마지막 세션 계속
dropstone -c

# 특정 세션 재개
dropstone --session 7f3a82b1

# 기존 세션을 새 대화로 포크
dropstone --session 7f3a82b1 --fork

포크는 기록을 새 세션 ID로 복사하고 원본은 그대로 둡니다. 원래 스레드를 잃지 않고 대체 방향을 탐색하려는 경우 유용합니다.

컨텍스트 창

컨텍스트 창에는 대화 기록, 파일 내용, 명령 출력, AGENTS.md, 로드된 스킬, 시스템 지침이 포함됩니다. 작업하면서 창이 채워집니다. Dropstone은 오래된 콘텐츠를 자동으로 압축하지만, 대화 초반의 지침은 손실될 수 있습니다.

몇 가지 경험 법칙:

  • 영구 규칙은 AGENTS.md에 넣으세요. 채팅 메시지가 아닌 곳에. 채팅 메시지 버전은 압축되어 사라집니다. AGENTS.md 버전은 매 세션 다시 로드됩니다.
  • 스킬은 요청 시 로드됩니다. Dropstone은 세션 시작 시 스킬 설명을 보지만 스킬이 호출될 때만 전체 콘텐츠를 로드합니다.
  • 서브에이전트는 자체 새 컨텍스트를 얻습니다. 그들의 작업은 메인 대화를 비대하게 만들지 않습니다. 완료되면 요약을 반환합니다.

안전: 체크포인트와 권한

Dropstone에는 두 가지 안전 메커니즘이 있습니다. 체크포인트는 에이전트가 만든 변경을 실행 취소할 수 있게 합니다. 권한은 에이전트가 묻지 않고 할 수 있는 작업을 제어합니다.

실행 취소 - 체크포인트

모든 파일 편집은 되돌릴 수 있습니다. Dropstone이 파일을 편집하기 전에 현재 내용을 스냅샷합니다. 문제가 발생하면 /undo로 한 번에 하나의 편집 주기를 되돌리거나 /redo로 실행 취소된 단계를 다시 실행할 수 있습니다.

/undo            # 마지막 편집 주기 되돌리기
/redo            # 가장 최근에 실행 취소된 단계 다시 실행

체크포인트는 세션 로컬이며 git과 별개입니다. 파일 변경만 다룹니다. 원격 시스템(데이터베이스, 배포된 서비스, 네트워크 API)에 영향을 주는 작업은 체크포인트할 수 없으므로, Dropstone은 외부 부작용이 있는 명령을 실행하기 전에 묻습니다.

Dropstone이 할 수 있는 작업 제어

Dropstone은 민감한 작업(파일 편집, 셸 명령 실행, 네트워크 호출)을 처음 수행하려고 할 때 승인을 요청합니다. 한 번 승인하면 동일한 작업은 세션의 나머지 기간 동안 다시 묻지 않고 실행됩니다.

세션 중에 Tab을 사용하여 두 가지 작동 모드 사이를 전환합니다:

  • 빌드 모드. 기본값입니다. Dropstone은 파일을 편집하고 명령을 실행할 수 있습니다(승인 필요). 변경을 배포하려는 경우 사용합니다.
  • 플랜 모드. 읽기 전용입니다. Dropstone은 코드베이스를 조사하고, 컨텍스트를 수집하고, 계획을 생성할 수 있지만 편집하거나 실행할 수는 없습니다. 변경하기 전에 시스템을 연구하려는 경우 사용합니다.

명령을 사전 승인하고 프롬프트를 완전히 건너뛰려면 프로젝트의 권한 구성에 나열하세요. 예:

{
  "permissions": {
    "allow": ["git status", "git diff", "npm test", "npm run lint"]
  }
}

조직 전체 정책, 더 세분화된 패턴, 범위 해석 방식에 대해서는 권한 가이드를 참조하세요.

Dropstone과 효과적으로 작업하기

더 나은 결과를 만드는 몇 가지 패턴입니다.

대화입니다

완벽한 첫 프롬프트가 필요하지 않습니다. 원하는 것으로 시작하고, 에이전트가 하는 것을 보고, 수정하세요:

로그인 버그를 고쳐줘
아니, 문제는 폼 검증이 아니라 세션 처리에 있어

다시 시작하는 것이 아닙니다. 반복하는 것입니다. 각 턴은 에이전트의 이해를 다듬습니다.

중단하고 방향 바꾸기

언제든 Dropstone을 리디렉션할 수 있습니다:

  • Esc를 누르면 즉시 중지됩니다. 현재 도구 호출이 취소되고 Dropstone은 다음 지침을 기다립니다.
  • 기다리지 않고 수정 사항을 입력하고 Enter를 누르세요. Dropstone은 현재 작업이 완료되는 즉시 읽고 다음 단계를 결정하기 전에 조정합니다.

처음부터 구체적으로

초기 프롬프트가 정확할수록 수정이 줄어듭니다. 파일을 참조하고, 제약 조건을 언급하고, 예제 패턴을 가리키세요:

만료된 카드를 가진 사용자에게 체크아웃 흐름이 깨져 있어.
src/payments/에서 문제를 찾아봐, 특히 토큰 갱신 부분.
먼저 실패하는 테스트를 작성하고, 그 다음 고쳐줘.

모호한 프롬프트도 작동하지만 방향을 바꾸는 데 더 많은 시간을 보내게 됩니다. 위와 같은 구체적인 프롬프트는 종종 첫 시도에 성공합니다.

Dropstone에 검증할 대상을 제공하세요

에이전트는 자신의 작업을 확인할 수 있을 때 더 잘 수행합니다. 테스트 케이스, 예상 출력, 수용 기준을 포함하세요:

validateEmail을 구현해줘. 테스트 케이스:
  'user@example.com' -> true
  'invalid'           -> false
  'user@.com'         -> false
테스트를 실행해줘.

구현 전에 탐색하세요

복잡한 문제의 경우 연구와 코딩을 분리하세요. 플랜 모드(Tab)로 전환하고, Dropstone이 관련 코드를 연구하게 하고, 대화를 통해 계획을 다듬은 다음, 빌드 모드로 다시 전환하여 실행하세요:

src/auth/를 읽고 현재 세션을 어떻게 처리하는지 설명해줘.
그런 다음 OAuth 지원을 추가하는 계획을 제안해줘.

계획을 검토하고, 동의하지 않는 부분에 반대하고, Dropstone이 구현하게 하세요. 이 2단계 접근 방식은 바로 코드로 가는 것보다 일관되게 더 나은 결과를 만듭니다.

지시하지 말고 위임하세요

Dropstone을 유능한 동료처럼 대하세요. 컨텍스트와 방향을 주고 에이전트가 세부 사항을 파악하도록 신뢰하세요:

만료된 카드를 가진 사용자에게 체크아웃 흐름이 깨져 있어.
관련 코드는 src/payments/에 있어.
조사하고 고쳐줘.

어떤 파일을 읽을지, 어떤 명령을 실행할지, 어떤 순서로 할지 지정할 필요가 없습니다. Dropstone은 프롬프트에서 이를 파악합니다.

다음 단계

Ctrl+I