Skip to content

Commit e661521

Browse files
committed
chore: add Claude plugin config and Discord integration settings
feat: add live analyzer test and document agent workflows
1 parent 351908c commit e661521

599 files changed

Lines changed: 47255 additions & 1944 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.biomeignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Ignore archived docs and generated files
2+
3+
docs/archive/
4+
docs/archive/**
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"schema_version": "v1",
3+
"name_for_human": "Effect Patterns (staging)",
4+
"name_for_model": "effect_patterns_staging",
5+
"description_for_human": "Search and generate Effect pattern snippets (staging).",
6+
"description_for_model": "Tool for searching and generating Effect patterns. Use function-calls via the OpenAPI spec.",
7+
"auth": {
8+
"type": "service_http",
9+
"authorization_type": "bearer"
10+
},
11+
"api": {
12+
"type": "openapi",
13+
"url": "https://YOUR-STAGING-URL.vercel.app/.well-known/openapi.json"
14+
},
15+
"logo_url": "https://YOUR-STAGING-URL.vercel.app/logo.png",
16+
"contact_email": "ops@your-org.example",
17+
"legal_info_url": "https://your-org.example/legal"
18+
}

.claude-plugin/plugins/effect-patterns/commands/explain.md

Whitespace-only changes.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: "Search Effect Patterns"
3+
description: "Search the Effect Patterns catalog by keyword and get short summaries."
4+
---
5+
6+
Usage:
7+
8+
- /pattern search [query]
9+
10+
Behavior:
11+
12+
- Query the plugin's MCP server (or local index) for pattern matches.
13+
- Return a short list of matching patterns (id, title, 1-line summary).
14+
- Show top example usage snippet.
15+
16+
Examples:
17+
18+
- /pattern search retry
19+
- /pattern search concurrency pool
Lines changed: 17 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,23 @@
11
{
22
"name": "effect-patterns",
3-
"version": "0.1.0",
4-
"description": "Search and generate Effect-TS patterns directly in Claude Code",
3+
"version": "0.0.1",
4+
"description": "Effect Patterns – search, explain and generate TypeScript Effect snippets (staging).",
5+
"author": {
6+
"name": "Paul J Philp",
7+
"url": "https://github.com/PaulJPhilp"
8+
},
59
"commands": [
6-
{
7-
"name": "search-patterns",
8-
"description": "Search for Effect patterns by keyword, category, or difficulty",
9-
"endpoint": "/api/patterns",
10-
"method": "GET",
11-
"parameters": {
12-
"q": {
13-
"type": "string",
14-
"description": "Search query for fuzzy matching",
15-
"required": false
16-
},
17-
"category": {
18-
"type": "string",
19-
"description": "Filter by category (error-handling, concurrency, etc.)",
20-
"required": false
21-
},
22-
"difficulty": {
23-
"type": "string",
24-
"description": "Filter by difficulty (beginner, intermediate, advanced)",
25-
"required": false
26-
},
27-
"limit": {
28-
"type": "number",
29-
"description": "Maximum number of results to return",
30-
"required": false
31-
}
32-
}
33-
},
34-
{
35-
"name": "get-pattern",
36-
"description": "Get full details for a specific pattern by ID",
37-
"endpoint": "/api/patterns/{id}",
38-
"method": "GET",
39-
"parameters": {
40-
"id": {
41-
"type": "string",
42-
"description": "Pattern ID",
43-
"required": true
44-
}
45-
}
46-
},
47-
{
48-
"name": "generate-snippet",
49-
"description": "Generate a code snippet from a pattern with customization",
50-
"endpoint": "/api/generate",
51-
"method": "POST",
52-
"parameters": {
53-
"patternId": {
54-
"type": "string",
55-
"description": "ID of the pattern to generate from",
56-
"required": true
57-
},
58-
"name": {
59-
"type": "string",
60-
"description": "Custom name for the generated code",
61-
"required": false
62-
},
63-
"input": {
64-
"type": "string",
65-
"description": "Custom input value for the example",
66-
"required": false
67-
},
68-
"moduleType": {
69-
"type": "string",
70-
"enum": ["esm", "cjs"],
71-
"description": "Module type (ESM or CommonJS)",
72-
"required": false
73-
},
74-
"effectVersion": {
75-
"type": "string",
76-
"description": "Effect version to target",
77-
"required": false
78-
}
79-
}
80-
},
81-
{
82-
"name": "trace-wiring",
83-
"description": "Get examples for integrating trace IDs across platforms",
84-
"endpoint": "/api/trace-wiring",
85-
"method": "GET",
86-
"parameters": {}
87-
},
88-
{
89-
"name": "health-check",
90-
"description": "Check if the Effect Patterns service is available",
91-
"endpoint": "/api/health",
92-
"method": "GET",
93-
"parameters": {}
94-
}
10+
"./commands/search.md",
11+
"./commands/explain.md"
9512
],
9613
"agents": [
97-
{
98-
"name": "effect-pattern-assistant",
99-
"description": "AI assistant specialized in Effect-TS patterns",
100-
"systemPrompt": "You are an expert in Effect-TS patterns. Help users find, understand, and implement Effect patterns. When users ask about error handling, concurrency, or other Effect topics, search for relevant patterns and provide code examples. Always explain the pattern's purpose and use cases.",
101-
"tools": [
102-
"search-patterns",
103-
"get-pattern",
104-
"generate-snippet"
105-
]
14+
"./agents/recommender.md"
15+
],
16+
"mcpServers": {
17+
"effect-patterns-server": {
18+
"source": "http",
19+
"url": "__MCP_BASE_URL__/api"
10620
}
107-
]
108-
}
21+
},
22+
"strict": false
23+
}

.env

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
GOOGLE_AI_API_KEY=AIzaSyCGvh5ZboFDAQidomK0KUjqndlEGDE-6_k
22
OPENAI_API_KEY=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
3-
ANTHROPIC_API_KEY=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
3+
ANTHROPIC_API_KEY=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
4+
5+
# Discord Ingestion Configuration
6+
DISCORD_BOT_TOKEN="MTQyNjM1NDgyNDk3MDEwOTA2OQ.G4j1Pq.ky9Mhx4hyRMc0zMZW940cDnngZM4P5QjX0H73Y"
7+
DISCORD_CHANNEL_ID="987654321"
8+
DISCORD_EXPORTER_PATH="./tools/DiscordChatExporter.Cli"
9+
10+
# Discord Integration Test Configuration
11+
DISCORD_TEST_CHANNEL_ID="1426382467354595333"

0 commit comments

Comments
 (0)