This document provides guidance for AI agents (like Claude Code) working on this repository.
This project is an MCP (Model Context Protocol) server that provides access to
Fleet integration package data through a SQLite database. The database schema,
queries, and package reading logic are provided by the
go-package-spec dependency
(pkgsql, pkgreader, pkgspec packages).
main.go- Entry point: flag parsing, validation, then callsapp.Run()internal/app/- Application orchestration: config, server lifecycle, database init/refresh, git operations, HTTP middlewareinternal/mcp/- MCP tool definitions and handlersinternal/otelsetup/- OpenTelemetry metrics setupinternal/slogutil/- Structured logging utilities
- Ensure the code compiles:
go build ./... - Run static analysis:
go vet ./... - Run tests:
go test ./... - Run formatter:
gofumpt -w -extra .' from (go install mvdan.cc/gofumpt@latest`) - Test the MCP server manually if needed
- Use conventional commit style messages.
- Minimize the use of bulleted lists.
- Follow the 50/72 rule where the title is 50 characters max and body lines are 72 chars max.