Dropstone Docs

도구

LLM이 사용할 수 있는 도구를 관리합니다.

도구를 사용하면 LLM이 코드베이스에서 작업을 수행할 수 있습니다. Dropstone은 기본 제공 도구 세트와 함께 제공되지만 사용자 정의 도구 또는 MCP 서버로 확장할 수 있습니다.

기본적으로 모든 도구는 활성화되어 있으며 실행 권한이 필요하지 않습니다. 권한을 통해 도구 동작을 제어할 수 있습니다.


구성

permission 필드를 사용하여 도구 동작을 제어합니다. 각 도구에 대해 허용, 거부 또는 승인 요청을 설정할 수 있습니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "deny",
    "bash": "ask",
    "webfetch": "allow"
  }
}

와일드카드를 사용하여 여러 도구를 한 번에 제어할 수도 있습니다. 예를 들어 MCP 서버의 모든 도구에 대해 승인을 요청하려면:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "mymcp_*": "ask"
  }
}

권한 구성에 대해 자세히 알아보세요.


기본 제공

Dropstone에서 사용 가능한 모든 기본 제공 도구입니다.


bash

프로젝트 환경에서 셸 명령을 실행합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "bash": "allow"
  }
}

이 도구를 사용하면 LLM이 npm install, git status 또는 기타 셸 명령을 실행할 수 있습니다.


edit

정확한 문자열 교체를 사용하여 기존 파일을 수정합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "allow"
  }
}

이 도구는 정확한 텍스트 일치를 교체하여 파일을 정밀하게 편집합니다. LLM이 코드를 수정하는 주요 방법입니다.


write

새 파일을 만들거나 기존 파일을 덮어씁니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "allow"
  }
}

LLM이 새 파일을 만들 수 있도록 하려면 이를 사용합니다. 파일이 이미 존재하면 덮어씁니다.

Note:

write 도구는 edit 권한으로 제어되며, 이는 모든 파일 수정(edit, write, apply_patch)을 포함합니다.


read

코드베이스에서 파일 내용을 읽습니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "read": "allow"
  }
}

이 도구는 파일을 읽고 내용을 반환합니다. 큰 파일의 경우 특정 줄 범위 읽기를 지원합니다.


grep

정규식을 사용하여 파일 내용을 검색합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "grep": "allow"
  }
}

코드베이스 전체에서 빠른 콘텐츠 검색을 수행합니다. 전체 정규식 구문 및 파일 패턴 필터링을 지원합니다.


glob

패턴 일치를 사용하여 파일을 찾습니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "glob": "allow"
  }
}

**/*.js 또는 src/**/*.ts와 같은 glob 패턴을 사용하여 파일을 검색합니다. 수정 시간순으로 정렬된 일치하는 파일 경로를 반환합니다.


lsp (실험적)

구성된 LSP 서버와 상호작용하여 정의, 참조, 호버 정보, 호출 계층 구조와 같은 코드 인텔리전스 기능을 얻습니다.

실험적:

LSP 도구는 실험적이며 기본적으로 비활성화되어 있습니다. 릴리스 간에 동작이 변경될 수 있습니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "lsp": "allow"
  }
}

지원되는 작업에는 goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol, goToImplementation, prepareCallHierarchy, incomingCalls, outgoingCalls가 포함됩니다.

프로젝트에 사용 가능한 LSP 서버를 구성하려면 LSP 서버를 참조하세요.


apply_patch

파일에 패치를 적용합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "allow"
  }
}

이 도구는 패치 파일을 코드베이스에 적용합니다. 다양한 소스의 diff 및 패치를 적용하는 데 유용합니다.

tool.execute.before 또는 tool.execute.after 훅을 처리할 때 input.tool === "apply_patch"를 확인합니다("patch"가 아님).

apply_patchoutput.args.patchText 대신 output.args.filePath를 사용합니다. 경로는 patchText 내의 마커 줄에 포함되며 프로젝트 루트에 상대적입니다(예: *** Add File: src/new-file.ts, *** Update File: src/existing.ts, *** Move to: src/renamed.ts, *** Delete File: src/obsolete.ts).

Note:

apply_patch 도구는 edit 권한으로 제어되며, 이는 모든 파일 수정(edit, write, apply_patch)을 포함합니다.


skill

skill(SKILL.md 파일)을 로드하고 대화에서 내용을 반환합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "skill": "allow"
  }
}

todowrite

코딩 세션 중에 할 일 목록을 관리합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "todowrite": "allow"
  }
}

복잡한 작업 중 진행 상황을 추적하기 위해 작업 목록을 만들고 업데이트합니다. LLM은 이를 사용하여 다단계 작업을 구성합니다.

Note:

이 도구는 기본적으로 서브에이전트에 대해 비활성화되어 있지만 수동으로 활성화할 수 있습니다. 자세히 알아보기.


webfetch

웹 콘텐츠를 가져옵니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "webfetch": "allow"
  }
}

LLM이 웹 페이지를 가져오고 읽을 수 있도록 합니다. 문서를 조회하거나 온라인 리소스를 조사하는 데 유용합니다.


websearch

웹에서 정보를 검색합니다. Dropstone에 로그인했을 때 기본적으로 사용 가능합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "websearch": "allow"
  }
}

웹 검색을 수행하여 온라인에서 관련 정보를 찾습니다. 주제를 조사하거나, 현재 이벤트를 찾거나, 학습 데이터 컷오프 이후의 정보를 수집하는 데 유용합니다. Dropstone에 로그인했을 때 API 키나 추가 설정이 필요하지 않습니다.

:

정보를 찾아야 할 때(검색)는 websearch를 사용하고, 특정 URL에서 콘텐츠를 검색해야 할 때(검색)는 webfetch를 사용합니다.


question

실행 중에 사용자에게 질문합니다.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "question": "allow"
  }
}

이 도구를 사용하면 LLM이 작업 중에 사용자에게 질문할 수 있습니다. 다음에 유용합니다:

  • 사용자 기본 설정 또는 요구 사항 수집
  • 모호한 지침 명확히 하기
  • 구현 선택에 대한 결정 얻기
  • 진행할 방향에 대한 선택 제공

각 질문에는 헤더, 질문 텍스트, 옵션 목록이 포함됩니다. 사용자는 제공된 옵션에서 선택하거나 사용자 정의 답변을 입력할 수 있습니다. 여러 질문이 있을 때 사용자는 모든 답변을 제출하기 전에 질문 간에 탐색할 수 있습니다.


사용자 정의 도구

사용자 정의 도구를 사용하면 LLM이 호출할 수 있는 자신의 함수를 정의할 수 있습니다. 이는 구성 파일에서 정의되며 임의의 코드를 실행할 수 있습니다.

사용자 정의 도구 만들기에 대해 자세히 알아보세요.


MCP 서버

MCP(Model Context Protocol) 서버를 사용하면 외부 도구 및 서비스를 통합할 수 있습니다. 여기에는 데이터베이스 액세스, API 통합 및 타사 서비스가 포함됩니다.

MCP 서버 구성에 대해 자세히 알아보세요.


무시 패턴

기본적으로 grepglob.gitignore를 준수합니다. 거기에 나열된 파일과 디렉터리는 검색 및 목록에서 제외됩니다.

일반적으로 무시되는 파일을 포함하려면 프로젝트 루트에 .ignore 파일을 만듭니다. 이 파일은 특정 경로를 명시적으로 허용할 수 있습니다.

!node_modules/
!dist/
!build/

예를 들어 이 .ignore 파일은 .gitignore에 나열되어 있더라도 node_modules/, dist/, build/ 디렉터리 내에서 검색을 허용합니다.

Ctrl+I