peeker 1.2.0

A library and CLI tool for extracting code structure using Tree-sitter
Documentation
# Peeker

A fast CLI tool for extracting code structure from source files using [Tree-sitter](https://tree-sitter.github.io/).

## Features

- **Multi-language support**: Rust, Python, TypeScript, JavaScript, Go, Java, C, C++
- **Extracts**: imports, structs/classes, functions, traits/interfaces, enums
- **Output formats**: pretty (terminal), JSON, Markdown
- **Filter by visibility**: show only public/exported items with `--exports-only`
- **MCP server**: run as a Model Context Protocol server for AI tool integration

## Installation

```bash
cargo install peeker
```

## Usage

```bash
# Analyze a file
peeker peek src/main.rs

# JSON output
peeker peek src/main.rs --format json

# Markdown output
peeker peek src/main.rs --format markdown

# Show only public items
peeker peek src/lib.rs --exports-only
```

## MCP Server

Peeker can run as an [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server, exposing its code analysis capabilities to AI tools and agents.

```bash
# Start MCP server (JSON-RPC over stdio)
peeker mcp
```

### Integration with mcpd

Add to your mcpd configuration:

```json
{
  "peeker": {
    "command": "peeker",
    "args": ["mcp"]
  }
}
```

### Available Tools

| Tool | Description |
|------|-------------|
| `peek` | Analyze source code structure. Parameters: `file` (required), `exports_only` (optional) |

## Example Output

```
src/parser.rs

Imports
  use anyhow::Result; (line 1)
  use tree_sitter::Parser; (line 2)

Structs/Classes
  pub struct CodeStructure (lines 8-14)
    imports: Vec<Import>
    structs: Vec<StructDef>
    functions: Vec<FunctionDef>

Functions
  pub fn parse_file(path: &Path) -> Result<CodeStructure> (lines 20-45)
```

## License

MIT