@jaypie/mcp 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,127 @@
1
+ ---
2
+ description: Available MCP tools reference
3
+ related: aws, datadog, debugging
4
+ ---
5
+
6
+ # MCP Tools Reference
7
+
8
+ Tools available through the Jaypie MCP server.
9
+
10
+ ## Documentation Tools
11
+
12
+ | Tool | Description |
13
+ |------|-------------|
14
+ | `skill` | Access Jaypie skill documentation |
15
+ | `list_prompts` | List prompt files (deprecated, use skill) |
16
+ | `read_prompt` | Read prompt file (deprecated, use skill) |
17
+ | `version` | Get MCP server version |
18
+ | `list_release_notes` | List package release notes |
19
+ | `read_release_note` | Read specific release note |
20
+
21
+ ### Using Skills
22
+
23
+ ```
24
+ skill("index") # List all skills
25
+ skill("jaypie") # Jaypie overview
26
+ skill("tests") # Testing patterns
27
+ ```
28
+
29
+ ## AWS Tools
30
+
31
+ | Tool | Description |
32
+ |------|-------------|
33
+ | `aws_list_profiles` | List AWS profiles from ~/.aws |
34
+ | `aws_lambda_list_functions` | List Lambda functions |
35
+ | `aws_lambda_get_function` | Get Lambda function details |
36
+ | `aws_logs_filter_log_events` | Search CloudWatch Logs |
37
+ | `aws_s3_list_objects` | List S3 bucket objects |
38
+ | `aws_cloudformation_describe_stack` | Get CloudFormation stack details |
39
+
40
+ ### DynamoDB
41
+
42
+ | Tool | Description |
43
+ |------|-------------|
44
+ | `aws_dynamodb_describe_table` | Get table metadata |
45
+ | `aws_dynamodb_query` | Query by partition key |
46
+ | `aws_dynamodb_scan` | Full table scan |
47
+ | `aws_dynamodb_get_item` | Get single item |
48
+
49
+ ### SQS
50
+
51
+ | Tool | Description |
52
+ |------|-------------|
53
+ | `aws_sqs_list_queues` | List SQS queues |
54
+ | `aws_sqs_get_queue_attributes` | Get queue attributes |
55
+ | `aws_sqs_receive_message` | Peek at messages |
56
+ | `aws_sqs_purge_queue` | Delete all messages |
57
+
58
+ ### Step Functions
59
+
60
+ | Tool | Description |
61
+ |------|-------------|
62
+ | `aws_stepfunctions_list_executions` | List state machine executions |
63
+ | `aws_stepfunctions_stop_execution` | Stop running execution |
64
+
65
+ ## Datadog Tools
66
+
67
+ | Tool | Description |
68
+ |------|-------------|
69
+ | `datadog_logs` | Search log entries |
70
+ | `datadog_log_analytics` | Aggregate logs with groupBy |
71
+ | `datadog_monitors` | List and check monitors |
72
+ | `datadog_synthetics` | List synthetic tests |
73
+ | `datadog_metrics` | Query timeseries metrics |
74
+ | `datadog_rum` | Search RUM events |
75
+
76
+ ## LLM Tools
77
+
78
+ | Tool | Description |
79
+ |------|-------------|
80
+ | `llm_debug_call` | Debug LLM API call |
81
+ | `llm_list_providers` | List available LLM providers |
82
+
83
+ ## Environment Variables
84
+
85
+ ### AWS Tools
86
+ - `AWS_PROFILE` - Default profile
87
+ - `AWS_REGION` - Default region
88
+
89
+ ### Datadog Tools
90
+ - `DATADOG_API_KEY` or `DD_API_KEY` - API key
91
+ - `DATADOG_APP_KEY` or `DD_APP_KEY` - App key
92
+ - `DD_ENV` - Default environment filter
93
+ - `DD_SERVICE` - Default service filter
94
+ - `DD_SOURCE` - Default log source
95
+
96
+ ## Common Patterns
97
+
98
+ ### Debug Lambda Issues
99
+
100
+ ```
101
+ # Check function config
102
+ aws_lambda_get_function --functionName "my-function"
103
+
104
+ # Search recent logs
105
+ aws_logs_filter_log_events --logGroupName "/aws/lambda/my-function" --filterPattern "ERROR"
106
+
107
+ # Or via Datadog
108
+ datadog_logs --query "service:my-function status:error" --from "now-1h"
109
+ ```
110
+
111
+ ### Check Queue Health
112
+
113
+ ```
114
+ # Get queue depth
115
+ aws_sqs_get_queue_attributes --queueUrl "https://..."
116
+
117
+ # Peek at messages
118
+ aws_sqs_receive_message --queueUrl "https://..." --maxNumberOfMessages 5
119
+ ```
120
+
121
+ ### Monitor Status
122
+
123
+ ```
124
+ # Check alerting monitors
125
+ datadog_monitors --status '["Alert", "Warn"]'
126
+ ```
127
+
@@ -0,0 +1,116 @@
1
+ ---
2
+ description: Topic index and cross-reference
3
+ ---
4
+
5
+ # Topic Index
6
+
7
+ Quick reference for finding the right skill for your task.
8
+
9
+ ## By Task
10
+
11
+ ### Starting a New Project
12
+ - `skill("jaypie")` - Jaypie overview
13
+ - `skill("style")` - Code conventions
14
+ - `skill("cdk")` - Infrastructure setup
15
+
16
+ ### Writing Code
17
+ - `skill("style")` - Code style
18
+ - `skill("errors")` - Error handling
19
+ - `skill("services")` - Service patterns
20
+ - `skill("models")` - Data models
21
+
22
+ ### Testing
23
+ - `skill("tests")` - Vitest patterns
24
+ - `skill("mocks")` - @jaypie/testkit mocks
25
+
26
+ ### Deploying
27
+ - `skill("cdk")` - CDK constructs
28
+ - `skill("cicd")` - GitHub Actions
29
+ - `skill("variables")` - Environment config
30
+
31
+ ### Debugging
32
+ - `skill("debugging")` - Debug techniques
33
+ - `skill("logs")` - Log searching
34
+ - `skill("datadog")` - Observability tools
35
+
36
+ ### AWS Integration
37
+ - `skill("aws")` - AWS tools overview
38
+ - `skill("dynamodb")` - DynamoDB patterns
39
+ - `skill("secrets")` - Secret management
40
+
41
+ ## By Package
42
+
43
+ ### jaypie (main package)
44
+ - `skill("jaypie")` - Overview
45
+ - `skill("errors")` - Error types
46
+ - `skill("logs")` - Logging
47
+ - `skill("secrets")` - Secret access
48
+
49
+ ### @jaypie/constructs
50
+ - `skill("cdk")` - CDK constructs
51
+
52
+ ### @jaypie/testkit
53
+ - `skill("mocks")` - Mock patterns
54
+ - `skill("tests")` - Test patterns
55
+
56
+ ### @jaypie/fabric
57
+ - `skill("fabric")` - Service patterns
58
+ - `skill("services")` - Service layer
59
+
60
+ ### Legacy Packages
61
+ - `skill("legacy")` - Deprecated patterns
62
+
63
+ ## By Concept
64
+
65
+ ### Error Handling
66
+ - `skill("errors")` - Error types and usage
67
+
68
+ ### Environment Configuration
69
+ - `skill("variables")` - Environment variables
70
+ - `skill("secrets")` - Secret management
71
+
72
+ ### Infrastructure
73
+ - `skill("cdk")` - CDK constructs
74
+ - `skill("aws")` - AWS integration
75
+ - `skill("dns")` - Domain configuration
76
+
77
+ ### Observability
78
+ - `skill("logs")` - Logging patterns
79
+ - `skill("datadog")` - Datadog integration
80
+ - `skill("debugging")` - Debug techniques
81
+
82
+ ### Data
83
+ - `skill("models")` - Data models and types
84
+ - `skill("dynamodb")` - DynamoDB patterns
85
+
86
+ ## Quick Answers
87
+
88
+ ### "How do I throw an error?"
89
+ ```typescript
90
+ import { NotFoundError } from "jaypie";
91
+ throw new NotFoundError("Item not found");
92
+ ```
93
+ See: `skill("errors")`
94
+
95
+ ### "How do I mock Jaypie in tests?"
96
+ ```typescript
97
+ vi.mock("jaypie", async () => {
98
+ const { mockJaypie } = await import("@jaypie/testkit");
99
+ return mockJaypie(vi);
100
+ });
101
+ ```
102
+ See: `skill("mocks")`
103
+
104
+ ### "How do I get a secret?"
105
+ ```typescript
106
+ import { getSecret } from "jaypie";
107
+ const apiKey = await getSecret("my-api-key");
108
+ ```
109
+ See: `skill("secrets")`
110
+
111
+ ### "How do I log with context?"
112
+ ```typescript
113
+ import { log } from "jaypie";
114
+ log.info("Operation completed", { userId, duration });
115
+ ```
116
+ See: `skill("logs")`
@@ -0,0 +1,146 @@
1
+ ---
2
+ description: Environment variables reference
3
+ related: secrets, cdk, datadog
4
+ ---
5
+
6
+ # Environment Variables
7
+
8
+ Configuration variables used in Jaypie applications.
9
+
10
+ ## Project Variables
11
+
12
+ | Variable | Description | Values |
13
+ |----------|-------------|--------|
14
+ | `PROJECT_ENV` | Environment identifier | local, sandbox, kitchen, lab, studio, production |
15
+ | `PROJECT_KEY` | Project name for logging | e.g., my-api |
16
+ | `PROJECT_NONCE` | Unique resource suffix | e.g., dev, staging, prod |
17
+ | `PROJECT_CHAOS` | Chaos engineering mode | none, partial, full |
18
+
19
+ ### Usage
20
+
21
+ ```typescript
22
+ const env = process.env.PROJECT_ENV || "local";
23
+ const key = process.env.PROJECT_KEY || "unknown";
24
+
25
+ log.info("Starting", { env, project: key });
26
+ ```
27
+
28
+ ## Node Environment
29
+
30
+ | Variable | Description | Values |
31
+ |----------|-------------|--------|
32
+ | `NODE_ENV` | Node.js environment | development, production, test |
33
+ | `LOG_LEVEL` | Logging verbosity | trace, debug, info, warn, error |
34
+
35
+ ### Log Level in Development
36
+
37
+ ```bash
38
+ # Very verbose
39
+ LOG_LEVEL=trace npm run dev
40
+
41
+ # Normal debugging
42
+ LOG_LEVEL=debug npm run dev
43
+ ```
44
+
45
+ ## CDK Infrastructure Variables
46
+
47
+ | Variable | Description |
48
+ |----------|-------------|
49
+ | `CDK_ENV_BUCKET` | S3 bucket name |
50
+ | `CDK_ENV_QUEUE_URL` | SQS queue URL |
51
+ | `CDK_ENV_SNS_ROLE_ARN` | SNS role ARN |
52
+ | `CDK_ENV_SNS_TOPIC_ARN` | SNS topic ARN |
53
+ | `CDK_ENV_DATADOG_API_KEY_ARN` | Datadog API key ARN |
54
+ | `CDK_ENV_TABLE` | DynamoDB table name |
55
+
56
+ ### Passing to Lambda
57
+
58
+ ```typescript
59
+ const handler = new JaypieLambda(this, "Handler", {
60
+ environment: {
61
+ PROJECT_ENV: "production",
62
+ PROJECT_KEY: "my-api",
63
+ CDK_ENV_BUCKET: bucket.bucketName,
64
+ CDK_ENV_QUEUE_URL: queue.queueUrl,
65
+ },
66
+ });
67
+ ```
68
+
69
+ ## Secret Variables
70
+
71
+ | Variable | Description |
72
+ |----------|-------------|
73
+ | `SECRET_MONGODB_URI` | MongoDB connection secret name |
74
+ | `SECRET_API_KEY` | Third-party API key secret name |
75
+
76
+ ### Usage Pattern
77
+
78
+ ```typescript
79
+ // Secret name from env, value from Secrets Manager
80
+ const secretName = process.env.SECRET_MONGODB_URI;
81
+ const mongoUri = await getSecret(secretName);
82
+ ```
83
+
84
+ ## AWS Variables
85
+
86
+ | Variable | Description |
87
+ |----------|-------------|
88
+ | `AWS_PROFILE` | Default AWS profile |
89
+ | `AWS_REGION` | Default AWS region |
90
+ | `AWS_DEFAULT_REGION` | Fallback region |
91
+ | `AWS_SESSION_TOKEN` | Session token (Lambda runtime) |
92
+ | `AWS_ACCESS_KEY_ID` | Access key (if not using profile) |
93
+ | `AWS_SECRET_ACCESS_KEY` | Secret key (if not using profile) |
94
+
95
+ ## Datadog Variables
96
+
97
+ | Variable | Description |
98
+ |----------|-------------|
99
+ | `DATADOG_API_KEY` or `DD_API_KEY` | API key |
100
+ | `DATADOG_APP_KEY` or `DD_APP_KEY` | Application key |
101
+ | `DD_ENV` | Environment tag |
102
+ | `DD_SERVICE` | Service name tag |
103
+ | `DD_VERSION` | Version tag |
104
+ | `DD_SOURCE` | Log source (default: lambda) |
105
+
106
+ ### Unified Service Tagging
107
+
108
+ ```typescript
109
+ environment: {
110
+ DD_ENV: process.env.PROJECT_ENV,
111
+ DD_SERVICE: process.env.PROJECT_KEY,
112
+ DD_VERSION: process.env.npm_package_version,
113
+ }
114
+ ```
115
+
116
+ ## Local Development
117
+
118
+ ### .env Files
119
+
120
+ ```bash
121
+ # .env.local (not committed)
122
+ PROJECT_ENV=local
123
+ PROJECT_KEY=my-api
124
+ LOG_LEVEL=debug
125
+ MONGODB_URI=mongodb://localhost:27017/dev
126
+ ```
127
+
128
+ ### Loading .env
129
+
130
+ ```typescript
131
+ import "dotenv/config";
132
+
133
+ // Or in package.json
134
+ "scripts": {
135
+ "dev": "dotenv -- node src/index.js"
136
+ }
137
+ ```
138
+
139
+ ## Environment Detection
140
+
141
+ ```typescript
142
+ const isProduction = process.env.PROJECT_ENV === "production";
143
+ const isLocal = process.env.PROJECT_ENV === "local";
144
+ const isDevelopment = !isProduction;
145
+ ```
146
+
@@ -0,0 +1,153 @@
1
+ ---
2
+ description: Documentation and writing style
3
+ ---
4
+
5
+ # Writing Style
6
+
7
+ Guidelines for writing Jaypie documentation.
8
+
9
+ ## Principles
10
+
11
+ 1. **Concise** - Fewer words, more clarity
12
+ 2. **Scannable** - Use headings, lists, tables
13
+ 3. **Actionable** - Show, don't tell
14
+ 4. **Current** - Keep examples up to date
15
+
16
+ ## Formatting
17
+
18
+ ### Headings
19
+
20
+ ```markdown
21
+ # Page Title (H1 - one per file)
22
+ ## Major Section (H2)
23
+ ### Subsection (H3)
24
+ ```
25
+
26
+ ### Code Blocks
27
+
28
+ Always specify language:
29
+
30
+ ```typescript
31
+ import { log } from "jaypie";
32
+ log.info("Message", { context });
33
+ ```
34
+
35
+ ### Lists
36
+
37
+ Use bullets for unordered items:
38
+ - First item
39
+ - Second item
40
+
41
+ Use numbers for sequential steps:
42
+ 1. First step
43
+ 2. Second step
44
+
45
+ ### Tables
46
+
47
+ Use for structured comparisons:
48
+
49
+ | Option | Description |
50
+ |--------|-------------|
51
+ | `verbose` | Enable verbose logging |
52
+ | `timeout` | Request timeout in ms |
53
+
54
+ ## Voice
55
+
56
+ - **Active voice**: "Run the command" not "The command should be run"
57
+ - **Present tense**: "Returns a string" not "Will return a string"
58
+ - **Second person**: "You can configure" not "Users can configure"
59
+ - **Imperative mood**: "Create a file" not "You should create a file"
60
+
61
+ ## Code Examples
62
+
63
+ ### Good Example
64
+
65
+ ```typescript
66
+ // Clear purpose
67
+ import { NotFoundError } from "jaypie";
68
+
69
+ throw new NotFoundError("User not found");
70
+ ```
71
+
72
+ ### Bad Example
73
+
74
+ ```typescript
75
+ // Avoid: no explanation, poor naming
76
+ import { NotFoundError } from "jaypie";
77
+ const e = new NotFoundError("err");
78
+ throw e;
79
+ ```
80
+
81
+ ## Structure
82
+
83
+ ### Skill Files
84
+
85
+ ```markdown
86
+ ---
87
+ description: Brief description for index listing
88
+ related: alias1, alias2
89
+ ---
90
+
91
+ # Skill Title
92
+
93
+ One sentence overview.
94
+
95
+ ## Quick Start
96
+
97
+ Minimal working example.
98
+
99
+ ## Details
100
+
101
+ Deeper explanation with examples.
102
+
103
+ ## Reference
104
+
105
+ Tables, options, API details.
106
+ ```
107
+
108
+ ### README Files
109
+
110
+ ```markdown
111
+ # Package Name
112
+
113
+ One-line description.
114
+
115
+ ## Installation
116
+
117
+ \`\`\`bash
118
+ npm install package-name
119
+ \`\`\`
120
+
121
+ ## Usage
122
+
123
+ \`\`\`typescript
124
+ import { feature } from "package-name";
125
+ feature();
126
+ \`\`\`
127
+
128
+ ## API
129
+
130
+ Document exports.
131
+
132
+ ## License
133
+
134
+ MIT
135
+ ```
136
+
137
+ ## Anti-Patterns
138
+
139
+ Avoid:
140
+ - Long paragraphs (use lists)
141
+ - Vague language ("various", "etc.")
142
+ - Redundant words ("in order to" → "to")
143
+ - Future promises ("will be added")
144
+ - Passive voice ("is used by" → "uses")
145
+
146
+ ## Checklist
147
+
148
+ Before publishing:
149
+ - [ ] Code examples run without errors
150
+ - [ ] All links work
151
+ - [ ] No placeholder text
152
+ - [ ] Spelling and grammar checked
153
+ - [ ] Frontmatter complete