{"owner":"confluentinc","repo":"confluent-kafka-go","hasSkills":true,"totalSkillsCount":4,"totalTokensCount":2033,"categories":["claude-rule","mcp-config","marketplace","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"confluent-kafka-go":{"command":"npx","args":["-y","@modelcontextprotocol/server-confluent-kafka-go"]}}},"found":["CLAUDE.md",".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json"],"skills":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Project Overview\n\nconfluent-kafka-go is Confluent's Go client for Apache Kafka. It is a CGo wrapper around [librdkafka](https://github.com/confluentinc/librdkafka), a high-performance C library. The module path is `github.com/confluentinc/confluent-kafka-go/v2`.\n\n## Build & Test Commands\n\n### Building\n```bash\n# Default build (uses statically linked vendored librdkafka)\ngo build ./...\n\n# Build with dynamically linked librdkafka (requires librdkafka installed via pkg-config)\ngo build -tags dynamic ./...\n```\n\n### Testing\n```bash\n# Run unit tests for the kafka package (no broker required)\ngo test ./kafka/...\n\n# Run a single test\ngo test ./kafka/ -run TestLibraryVersion\n\n# Run unit tests for schema registry\ngo test ./schemaregistry/...\n\n# Integration tests live in a separate sub-module (kafka/integration/) so the\n# testcontainers + testify deps don't bleed into the main kafka module's go.mod.\n# Run them from within that module. Tests use docker-compose via testcontainers.\n# Use these flags:\n(cd kafka/integration && go test ./... -docker.needed)    # auto-starts Docker containers\n(cd kafka/integration && go test ./... -docker.exists)    # uses already-running containers\n\n# Schema Registry integration tests are a second sub-module, with their own\n# Kafka + Schema Registry stack. Same flags.\n(cd schemaregistry/integration && go test ./... -docker.needed)\n\n# Run all tests across all packages\nmake -f mk/Makefile \"go test\"\n\n# Vet all packages\nmake -f mk/Makefile \"go vet\"\n```\n\n### Code Generation\n```bash\n# Regenerate error codes from librdkafka (produces kafka/generated_errors.go)\nmake -f mk/Makefile generr\n```\n\n## Architecture\n\n### Two main packages\n\n**`kafka/`** — Core Kafka client (Producer, Consumer, AdminClient)\n- CGo bindings wrapping librdkafka via `#include \"select_rdkafka.h\"`\n- librdkafka is vendored as static libraries in `kafka/librdkafka_vendor/` with per-platform `.a` files and build-tag-gated `build_*.go` files\n- Use build tag `dynamic` to link against system librdkafka instead of vendored static libs\n- Key types: `Producer`, `Consumer`, `AdminClient`, `ConfigMap`, `Message`, `Event`, `Handle` (interface shared by Producer/Consumer)\n- Configuration uses `ConfigMap` (a `map[string]ConfigValue`) matching librdkafka config property names; Go-specific properties are prefixed with `go.`\n- Events are delivered through channels or `.Poll()` — the `Event` interface is implemented by `*Message`, `Error`, `AssignedPartitions`, `RevokedPartitions`, etc.\n- `kafka/generated_errors.go` is auto-generated from librdkafka error codes — do not edit manually\n\n**`schemaregistry/`** — Confluent Schema Registry client and serialization/deserialization (serde)\n- `schemaregistry_client.go` — REST client for Schema Registry API (register/lookup schemas, compatibility checks)\n- `serde/` — Serializer/Deserializer framework with format-specific implementations:\n  - `serde/avro/`, `serde/avrov2/`, and `serde/avrov3/` — Avro (gogen-avro, hamba/avro, and confluentinc/confluent-avro-go respectively)\n  - `serde/jsonschema/` — JSON Schema\n  - `serde/protobuf/` — Protocol Buffers\n- `rules/` — Data contract rules engine (CEL, JSONata, field-level encryption)\n- `cache/` — Schema caching (LRU and map-based)\n\n### Test Configuration\n\nIntegration tests for `kafka/` live in the `kafka/integration/` **sub-module** (own `go.mod`, own `testresources/`) — they use a `testconf` struct populated from `testconf.json` (if present) or defaults to `localhost:9092`, and can spin up Docker containers via testcontainers-go when `-docker.needed` is set. The sub-module isolates the testcontainers + testify dependency surface from the main `kafka` module.\n\nSchema Registry integration tests live in the `schemaregistry/integration/` **sub-module** (own `go.mod`, own `testresources/`), following the same pattern: a `testconf` struct, the same `-docker.needed` / `-docker.exists` flags, and a single `TestIntegration` entry point. Its stack adds a Schema Registry alongside the broker, so it binds the same host ports as `kafka/integration` and the two cannot run at once.\n\n`schemaregistry/test/` is not a test suite — it holds generated fixtures (gogen-avro and protoc output) and schema files used by the unit tests.\n\n## Git\n\n- Always use `git push-external` instead of `git push` (proprietary code check required).\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/plugin.json)"},"files":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Project Overview\n\nconfluent-kafka-go is Confluent's Go client for Apache Kafka. It is a CGo wrapper around [librdkafka](https://github.com/confluentinc/librdkafka), a high-performance C library. The module path is `github.com/confluentinc/confluent-kafka-go/v2`.\n\n## Build & Test Commands\n\n### Building\n```bash\n# Default build (uses statically linked vendored librdkafka)\ngo build ./...\n\n# Build with dynamically linked librdkafka (requires librdkafka installed via pkg-config)\ngo build -tags dynamic ./...\n```\n\n### Testing\n```bash\n# Run unit tests for the kafka package (no broker required)\ngo test ./kafka/...\n\n# Run a single test\ngo test ./kafka/ -run TestLibraryVersion\n\n# Run unit tests for schema registry\ngo test ./schemaregistry/...\n\n# Integration tests live in a separate sub-module (kafka/integration/) so the\n# testcontainers + testify deps don't bleed into the main kafka module's go.mod.\n# Run them from within that module. Tests use docker-compose via testcontainers.\n# Use these flags:\n(cd kafka/integration && go test ./... -docker.needed)    # auto-starts Docker containers\n(cd kafka/integration && go test ./... -docker.exists)    # uses already-running containers\n\n# Schema Registry integration tests are a second sub-module, with their own\n# Kafka + Schema Registry stack. Same flags.\n(cd schemaregistry/integration && go test ./... -docker.needed)\n\n# Run all tests across all packages\nmake -f mk/Makefile \"go test\"\n\n# Vet all packages\nmake -f mk/Makefile \"go vet\"\n```\n\n### Code Generation\n```bash\n# Regenerate error codes from librdkafka (produces kafka/generated_errors.go)\nmake -f mk/Makefile generr\n```\n\n## Architecture\n\n### Two main packages\n\n**`kafka/`** — Core Kafka client (Producer, Consumer, AdminClient)\n- CGo bindings wrapping librdkafka via `#include \"select_rdkafka.h\"`\n- librdkafka is vendored as static libraries in `kafka/librdkafka_vendor/` with per-platform `.a` files and build-tag-gated `build_*.go` files\n- Use build tag `dynamic` to link against system librdkafka instead of vendored static libs\n- Key types: `Producer`, `Consumer`, `AdminClient`, `ConfigMap`, `Message`, `Event`, `Handle` (interface shared by Producer/Consumer)\n- Configuration uses `ConfigMap` (a `map[string]ConfigValue`) matching librdkafka config property names; Go-specific properties are prefixed with `go.`\n- Events are delivered through channels or `.Poll()` — the `Event` interface is implemented by `*Message`, `Error`, `AssignedPartitions`, `RevokedPartitions`, etc.\n- `kafka/generated_errors.go` is auto-generated from librdkafka error codes — do not edit manually\n\n**`schemaregistry/`** — Confluent Schema Registry client and serialization/deserialization (serde)\n- `schemaregistry_client.go` — REST client for Schema Registry API (register/lookup schemas, compatibility checks)\n- `serde/` — Serializer/Deserializer framework with format-specific implementations:\n  - `serde/avro/`, `serde/avrov2/`, and `serde/avrov3/` — Avro (gogen-avro, hamba/avro, and confluentinc/confluent-avro-go respectively)\n  - `serde/jsonschema/` — JSON Schema\n  - `serde/protobuf/` — Protocol Buffers\n- `rules/` — Data contract rules engine (CEL, JSONata, field-level encryption)\n- `cache/` — Schema caching (LRU and map-based)\n\n### Test Configuration\n\nIntegration tests for `kafka/` live in the `kafka/integration/` **sub-module** (own `go.mod`, own `testresources/`) — they use a `testconf` struct populated from `testconf.json` (if present) or defaults to `localhost:9092`, and can spin up Docker containers via testcontainers-go when `-docker.needed` is set. The sub-module isolates the testcontainers + testify dependency surface from the main `kafka` module.\n\nSchema Registry integration tests live in the `schemaregistry/integration/` **sub-module** (own `go.mod`, own `testresources/`), following the same pattern: a `testconf` struct, the same `-docker.needed` / `-docker.exists` flags, and a single `TestIntegration` entry point. Its stack adds a Schema Registry alongside the broker, so it binds the same host ports as `kafka/integration` and the two cannot run at once.\n\n`schemaregistry/test/` is not a test suite — it holds generated fixtures (gogen-avro and protoc output) and schema files used by the unit tests.\n\n## Git\n\n- Always use `git push-external` instead of `git push` (proprietary code check required).\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/plugin.json)"},"items":[{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Project Overview\n\nconfluent-kafka-go is Confluent's Go client for Apache Kafka. It is a CGo wrapper around [librdkafka](https://github.com/confluentinc/librdkafka), a high-performance C library. The module path is `github.com/confluentinc/confluent-kafka-go/v2`.\n\n## Build & Test Commands\n\n### Building\n```bash\n# Default build (uses statically linked vendored librdkafka)\ngo build ./...\n\n# Build with dynamically linked librdkafka (requires librdkafka installed via pkg-config)\ngo build -tags dynamic ./...\n```\n\n### Testing\n```bash\n# Run unit tests for the kafka package (no broker required)\ngo test ./kafka/...\n\n# Run a single test\ngo test ./kafka/ -run TestLibraryVersion\n\n# Run unit tests for schema registry\ngo test ./schemaregistry/...\n\n# Integration tests live in a separate sub-module (kafka/integration/) so the\n# testcontainers + testify deps don't bleed into the main kafka module's go.mod.\n# Run them from within that module. Tests use docker-compose via testcontainers.\n# Use these flags:\n(cd kafka/integration && go test ./... -docker.needed)    # auto-starts Docker containers\n(cd kafka/integration && go test ./... -docker.exists)    # uses already-running containers\n\n# Schema Registry integration tests are a second sub-module, with their own\n# Kafka + Schema Registry stack. Same flags.\n(cd schemaregistry/integration && go test ./... -docker.needed)\n\n# Run all tests across all packages\nmake -f mk/Makefile \"go test\"\n\n# Vet all packages\nmake -f mk/Makefile \"go vet\"\n```\n\n### Code Generation\n```bash\n# Regenerate error codes from librdkafka (produces kafka/generated_errors.go)\nmake -f mk/Makefile generr\n```\n\n## Architecture\n\n### Two main packages\n\n**`kafka/`** — Core Kafka client (Producer, Consumer, AdminClient)\n- CGo bindings wrapping librdkafka via `#include \"select_rdkafka.h\"`\n- librdkafka is vendored as static libraries in `kafka/librdkafka_vendor/` with per-platform `.a` files and build-tag-gated `build_*.go` files\n- Use build tag `dynamic` to link against system librdkafka instead of vendored static libs\n- Key types: `Producer`, `Consumer`, `AdminClient`, `ConfigMap`, `Message`, `Event`, `Handle` (interface shared by Producer/Consumer)\n- Configuration uses `ConfigMap` (a `map[string]ConfigValue`) matching librdkafka config property names; Go-specific properties are prefixed with `go.`\n- Events are delivered through channels or `.Poll()` — the `Event` interface is implemented by `*Message`, `Error`, `AssignedPartitions`, `RevokedPartitions`, etc.\n- `kafka/generated_errors.go` is auto-generated from librdkafka error codes — do not edit manually\n\n**`schemaregistry/`** — Confluent Schema Registry client and serialization/deserialization (serde)\n- `schemaregistry_client.go` — REST client for Schema Registry API (register/lookup schemas, compatibility checks)\n- `serde/` — Serializer/Deserializer framework with format-specific implementations:\n  - `serde/avro/`, `serde/avrov2/`, and `serde/avrov3/` — Avro (gogen-avro, hamba/avro, and confluentinc/confluent-avro-go respectively)\n  - `serde/jsonschema/` — JSON Schema\n  - `serde/protobuf/` — Protocol Buffers\n- `rules/` — Data contract rules engine (CEL, JSONata, field-level encryption)\n- `cache/` — Schema caching (LRU and map-based)\n\n### Test Configuration\n\nIntegration tests for `kafka/` live in the `kafka/integration/` **sub-module** (own `go.mod`, own `testresources/`) — they use a `testconf` struct populated from `testconf.json` (if present) or defaults to `localhost:9092`, and can spin up Docker containers via testcontainers-go when `-docker.needed` is set. The sub-module isolates the testcontainers + testify dependency surface from the main `kafka` module.\n\nSchema Registry integration tests live in the `schemaregistry/integration/` **sub-module** (own `go.mod`, own `testresources/`), following the same pattern: a `testconf` struct, the same `-docker.needed` / `-docker.exists` flags, and a single `TestIntegration` entry point. Its stack adds a Schema Registry alongside the broker, so it binds the same host ports as `kafka/integration` and the two cannot run at once.\n\n`schemaregistry/test/` is not a test suite — it holds generated fixtures (gogen-avro and protoc output) and schema files used by the unit tests.\n\n## Git\n\n- Always use `git push-external` instead of `git push` (proprietary code check required).\n","isInternal":false,"tokens":1133,"sizeBytes":4476},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":210},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":196},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":189}],"systemPromptSnippet":"<yakaai_skills repo=\"confluentinc/confluent-kafka-go\">\n<!-- File: CLAUDE.md (Tokens: ~1133 | Category: claude-rule) -->\n# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Project Overview\n\nconfluent-kafka-go is Confluent's Go client for Apache Kafka. It is a CGo wrapper around [librdkafka](https://github.com/confluentinc/librdkafka), a high-performance C library. The module path is `github.com/confluentinc/confluent-kafka-go/v2`.\n\n## Build & Test Commands\n\n### Building\n```bash\n# Default build (uses statically linked vendored librdkafka)\ngo build ./...\n\n# Build with dynamically linked librdkafka (requires librdkafka installed via pkg-config)\ngo build -tags dynamic ./...\n```\n\n### Testing\n```bash\n# Run unit tests for the kafka package (no broker required)\ngo test ./kafka/...\n\n# Run a single test\ngo test ./kafka/ -run TestLibraryVersion\n\n# Run unit tests for schema registry\ngo test ./schemaregistry/...\n\n# Integration tests live in a separate sub-module (kafka/integration/) so the\n# testcontainers + testify deps don't bleed into the main kafka module's go.mod.\n# Run them from within that module. Tests use docker-compose via testcontainers.\n# Use these flags:\n(cd kafka/integration && go test ./... -docker.needed)    # auto-starts Docker containers\n(cd kafka/integration && go test ./... -docker.exists)    # uses already-running containers\n\n# Schema Registry integration tests are a second sub-module, with their own\n# Kafka + Schema Registry stack. Same flags.\n(cd schemaregistry/integration && go test ./... -docker.needed)\n\n# Run all tests across all packages\nmake -f mk/Makefile \"go test\"\n\n# Vet all packages\nmake -f mk/Makefile \"go vet\"\n```\n\n### Code Generation\n```bash\n# Regenerate error codes from librdkafka (produces kafka/generated_errors.go)\nmake -f mk/Makefile generr\n```\n\n## Architecture\n\n### Two main packages\n\n**`kafka/`** — Core Kafka client (Producer, Consumer, AdminClient)\n- CGo bindings wrapping librdkafka via `#include \"select_rdkafka.h\"`\n- librdkafka is vendored as static libraries in `kafka/librdkafka_vendor/` with per-platform `.a` files and build-tag-gated `build_*.go` files\n- Use build tag `dynamic` to link against system librdkafka instead of vendored static libs\n- Key types: `Producer`, `Consumer`, `AdminClient`, `ConfigMap`, `Message`, `Event`, `Handle` (interface shared by Producer/Consumer)\n- Configuration uses `ConfigMap` (a `map[string]ConfigValue`) matching librdkafka config property names; Go-specific properties are prefixed with `go.`\n- Events are delivered through channels or `.Poll()` — the `Event` interface is implemented by `*Message`, `Error`, `AssignedPartitions`, `RevokedPartitions`, etc.\n- `kafka/generated_errors.go` is auto-generated from librdkafka error codes — do not edit manually\n\n**`schemaregistry/`** — Confluent Schema Registry client and serialization/deserialization (serde)\n- `schemaregistry_client.go` — REST client for Schema Registry API (register/lookup schemas, compatibility checks)\n- `serde/` — Serializer/Deserializer framework with format-specific implementations:\n  - `serde/avro/`, `serde/avrov2/`, and `serde/avrov3/` — Avro (gogen-avro, hamba/avro, and confluentinc/confluent-avro-go respectively)\n  - `serde/jsonschema/` — JSON Schema\n  - `serde/protobuf/` — Protocol Buffers\n- `rules/` — Data contract rules engine (CEL, JSONata, field-level encryption)\n- `cache/` — Schema caching (LRU and map-based)\n\n### Test Configuration\n\nIntegration tests for `kafka/` live in the `kafka/integration/` **sub-module** (own `go.mod`, own `testresources/`) — they use a `testconf` struct populated from `testconf.json` (if present) or defaults to `localhost:9092`, and can spin up Docker containers via testcontainers-go when `-docker.needed` is set. The sub-module isolates the testcontainers + testify dependency surface from the main `kafka` module.\n\nSchema Registry integration tests live in the `schemaregistry/integration/` **sub-module** (own `go.mod`, own `testresources/`), following the same pattern: a `testconf` struct, the same `-docker.needed` / `-docker.exists` flags, and a single `TestIntegration` entry point. Its stack adds a Schema Registry alongside the broker, so it binds the same host ports as `kafka/integration` and the two cannot run at once.\n\n`schemaregistry/test/` is not a test suite — it holds generated fixtures (gogen-avro and protoc output) and schema files used by the unit tests.\n\n## Git\n\n- Always use `git push-external` instead of `git push` (proprietary code check required).\n\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/confluentinc/confluent-kafka-go/HEAD/.cursor/mcp.json)\n</yakaai_skills>"}