LazyCodex
LazyCodexv4.12.1

lsp

Codex를 위한 language-server 진단, 정의, 참조, 심볼, 안전한 rename.

lsp 스킬은 Codex 워크스페이스 안에서 LazyCodex(LZX)에게 language-server 수준의 정밀함을 제공합니다. 심볼을 grep하거나 타입 에러를 추측하는 대신, Codex는 실제 language server에 진단, 정의, 참조, 문서 심볼, rename 안전성을 질의합니다. LazyCodex가 Codex에 설치하는 OmO(oh-my-openagent) 플러그인에 포함되어 있습니다.

한 줄 요약

코드에 대한 정확한 답이 필요할 때 lsp를 사용합니다 — 편집 후 무엇이 잘못됐는지, 심볼이 어디에 정의됐는지, 누가 사용하는지, rename이 안전한지. lsp.* 이름은 도구 인터페이스로 호출하는 MCP 도구 호출이며, 셸 명령이 아닙니다.

도구

도구용도
lsp.status구성·설치·누락·비활성·활성 language server 목록.
lsp.diagnostics파일이나 디렉터리의 진단 확인. 편집 후에는 severity: "error" 권장.
lsp.goto_definition파일·행·문자 위치에서 심볼 정의를 찾기.
lsp.find_references워크스페이스 전체에서 심볼 사용처 찾기.
lsp.symbols문서 심볼 검사 또는 워크스페이스 심볼 검색.
lsp.prepare_rename해당 위치에서 rename이 유효한지 확인.
lsp.renamelanguage-server 워크스페이스 edit으로 rename 적용.

일반 흐름

서버 확인

진단이 language server 누락을 보고하면, 먼저 lsp.status로 구성·설치·비활성 상태를 확인합니다.

편집 후 검증

apply_patch 후, 건드린 파일에 severity: "error"lsp.diagnostics를 실행해 변경이 깔끔히 컴파일되는지 확인합니다.

안전한 탐색과 rename

lsp.goto_definitionlsp.find_references로 영향 범위를 파악한 뒤, lsp.prepare_renamelsp.rename으로 서버 자체 edit을 통해 워크스페이스 전역 rename을 적용합니다.

설정

프로젝트 설정은 .codex/lsp-client.json, 사용자 설정은 ~/.codex/lsp-client.json에 있습니다.

{
  "lsp": {
    "typescript": {
      "command": ["typescript-language-server", "--stdio"],
      "extensions": [".ts", ".tsx", ".js", ".jsx"]
    }
  }
}

서버가 누락으로 보고되면 lsp.status가 바이너리가 미설치인지, 비활성인지, 단지 미구성인지 알려줍니다.

구조적 검색·재작성(텍스트가 아닌 형태로 코드를 매칭)이 필요하면 ast_grep_search / ast_grep_replace를 구동하는 refactor 스킬을 참고하세요.

관련 스킬

목차