agentleFS
AlmogBakuAlmogBaku/debug-skill/CLAUDE.md

debug-skill

CLAUDE.md328 starsChanged 8 months agoMITView on GitHub

dap-cli (dap) is a CLI debugging tool for AI agents. It wraps the Debug Adapter Protocol (DAP) behind a simple CLI that agents call via Bash. A background daemon holds the stateful debug session; the CLI sends ephemeral commands via Unix socket. Primary users: AI coding agents (Claude Code, Cursor, etc.) Supported languages: Python (debugpy), Go (dlv), Node.js/TypeScript (js-debug), Rust/C/C++ (lldb-dap) — all via DAP backends Remember to format the code with go fmt ./... Read claudedocs/ for full context…

  • In this repositoryOne other file it gives its agents.

The file

We split this CLAUDE.md into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read claudedocs/ for full context — these are the source of truth for architecture, API, and implementation plan:

    line 29
  2. Very specific:

    Auto-Context: Every execution command (debug, step, continue) blocks until stopped, then returns full context (location + source + locals + …

    line 48

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

CLAUDE.md

Project Overview

dap-cli (dap) is a CLI debugging tool for AI agents. It wraps the Debug Adapter Protocol (DAP) behind a simple CLI that agents call via Bash. A background daemon holds the stateful debug session; the CLI sends ephemeral commands via Unix socket.

Primary users: AI coding agents (Claude Code, Cursor, etc.) Supported languages: Python (debugpy), Go (dlv), Node.js/TypeScript (js-debug), Rust/C/C++ (lldb-dap) — all via DAP backends

Remember to format the code with go fmt ./...

Quick Reference

make build      # Build binary
make test       # Run all tests
make lint       # Run go vet + staticcheck
make all        # lint + test + build

Architecture

CLI (cobra) → Unix socket → Daemon (holds DAP session) → TCP/stdio → Debug Adapter → Target

Design Docs

Read claudedocs/ for full context — these are the source of truth for architecture, API, and implementation plan:

  • claudedocs/design.md — Architecture, decisions, inspirations
  • claudedocs/api.md — Complete CLI API reference
  • claudedocs/implementation.md — Implementation plan with phases

Code Conventions

  • Go 1.22+
  • Formatting: gofmt (standard)
  • Linting: go vet + staticcheck
  • Testing: TDD — write test first, then implement
  • Error handling: Return errors, don't panic. Wrap with context via fmt.Errorf("doing X: %w", err)
  • Naming: Go conventions (exported = PascalCase, unexported = camelCase)
  • Dependencies: Minimal. Only google/go-dap and cobra. Stdlib for everything else.
  • Principles: KISS, DRY, flat file structure. Short and effective codebase. Every line earns its place.

Key Design Patterns

  • Auto-Context: Every execution command (debug, step, continue) blocks until stopped, then returns full context (location + source + locals + stack + output). No follow-up calls needed.
  • Invisible Daemon: Background process is an implementation detail. dap debug auto-starts it; dap stop kills it. No user-facing daemon management.
  • Backend Abstraction: Pluggable debug adapters (debugpy, dlv, js-debug, lldb-dap) behind a common interface. See claudedocs/design.md.
  • Multi-Session: --session <name> maps to independent daemon + socket (~/.dap-cli/<name>.sock). Default session = "default". Idle timeout (10 min) prevents orphan daemons.
  • Length-prefixed JSON IPC: CLI ↔ daemon communication over Unix socket. One request, one response per connection.

Testing

go test ./...                    # All tests
go test -run TestName            # Specific test
go test -v                       # Verbose
  • Unit tests: mock DAP client via interface
  • Integration tests: real debug adapter processes
  • E2e tests: build binary, run full CLI flow

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.