matex-cli 1.2.82 → 1.2.87
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.
- package/dist/index.js +561 -288
- package/package.json +13 -6
- package/.agents/skills/mcp-server-dev/SKILL.md +0 -60
- package/.agents/skills/mcp-server-dev/examples/basic-ts-server/package.json +0 -20
- package/.agents/skills/mcp-server-dev/examples/basic-ts-server/src/index.ts +0 -66
- package/.agents/skills/mcp-server-dev/resources/best_practices.md +0 -20
- package/.agents/skills/pptx-presentation-builder/SKILL.md +0 -338
- package/.agents/workflows/deploy.md +0 -27
- package/dist/api/client.d.ts +0 -40
- package/dist/api/client.d.ts.map +0 -1
- package/dist/api/client.js +0 -173
- package/dist/api/client.js.map +0 -1
- package/dist/commands/ask.d.ts +0 -3
- package/dist/commands/ask.d.ts.map +0 -1
- package/dist/commands/ask.js +0 -63
- package/dist/commands/ask.js.map +0 -1
- package/dist/commands/augov.d.ts +0 -3
- package/dist/commands/augov.d.ts.map +0 -1
- package/dist/commands/augov.js +0 -273
- package/dist/commands/augov.js.map +0 -1
- package/dist/commands/bro.d.ts +0 -4
- package/dist/commands/bro.d.ts.map +0 -1
- package/dist/commands/bro.js +0 -304
- package/dist/commands/bro.js.map +0 -1
- package/dist/commands/chaos.d.ts +0 -3
- package/dist/commands/chaos.d.ts.map +0 -1
- package/dist/commands/chaos.js +0 -63
- package/dist/commands/chaos.js.map +0 -1
- package/dist/commands/chat.d.ts +0 -3
- package/dist/commands/chat.d.ts.map +0 -1
- package/dist/commands/chat.js +0 -59
- package/dist/commands/chat.js.map +0 -1
- package/dist/commands/code.d.ts +0 -3
- package/dist/commands/code.d.ts.map +0 -1
- package/dist/commands/code.js +0 -94
- package/dist/commands/code.js.map +0 -1
- package/dist/commands/config.d.ts +0 -3
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -74
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -3
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -66
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/help.d.ts +0 -3
- package/dist/commands/help.d.ts.map +0 -1
- package/dist/commands/help.js +0 -50
- package/dist/commands/help.js.map +0 -1
- package/dist/commands/login.d.ts +0 -3
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -47
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/models.d.ts +0 -3
- package/dist/commands/models.d.ts.map +0 -1
- package/dist/commands/models.js +0 -77
- package/dist/commands/models.js.map +0 -1
- package/dist/commands/student.d.ts +0 -3
- package/dist/commands/student.d.ts.map +0 -1
- package/dist/commands/student.js +0 -28
- package/dist/commands/student.js.map +0 -1
- package/dist/commands/study.d.ts +0 -3
- package/dist/commands/study.d.ts.map +0 -1
- package/dist/commands/study.js +0 -72
- package/dist/commands/study.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/prompts/banter-augov.d.ts +0 -2
- package/dist/prompts/banter-augov.d.ts.map +0 -1
- package/dist/prompts/banter-augov.js +0 -21
- package/dist/prompts/banter-augov.js.map +0 -1
- package/dist/prompts/banter.d.ts +0 -6
- package/dist/prompts/banter.d.ts.map +0 -1
- package/dist/prompts/banter.js +0 -101
- package/dist/prompts/banter.js.map +0 -1
- package/dist/prompts/chaos-prompts.d.ts +0 -3
- package/dist/prompts/chaos-prompts.d.ts.map +0 -1
- package/dist/prompts/chaos-prompts.js +0 -52
- package/dist/prompts/chaos-prompts.js.map +0 -1
- package/dist/prompts/system-prompts.d.ts +0 -4
- package/dist/prompts/system-prompts.d.ts.map +0 -1
- package/dist/prompts/system-prompts.js +0 -148
- package/dist/prompts/system-prompts.js.map +0 -1
- package/dist/session/agent-session.d.ts +0 -41
- package/dist/session/agent-session.d.ts.map +0 -1
- package/dist/session/agent-session.js +0 -421
- package/dist/session/agent-session.js.map +0 -1
- package/dist/utils/agent-orchestrator.d.ts +0 -44
- package/dist/utils/agent-orchestrator.d.ts.map +0 -1
- package/dist/utils/agent-orchestrator.js +0 -244
- package/dist/utils/agent-orchestrator.js.map +0 -1
- package/dist/utils/augov-logger.d.ts +0 -11
- package/dist/utils/augov-logger.d.ts.map +0 -1
- package/dist/utils/augov-logger.js +0 -35
- package/dist/utils/augov-logger.js.map +0 -1
- package/dist/utils/augov-scrubber.d.ts +0 -23
- package/dist/utils/augov-scrubber.d.ts.map +0 -1
- package/dist/utils/augov-scrubber.js +0 -68
- package/dist/utils/augov-scrubber.js.map +0 -1
- package/dist/utils/command-executor.d.ts +0 -56
- package/dist/utils/command-executor.d.ts.map +0 -1
- package/dist/utils/command-executor.js +0 -507
- package/dist/utils/command-executor.js.map +0 -1
- package/dist/utils/config.d.ts +0 -56
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -139
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/mcp-server.d.ts +0 -77
- package/dist/utils/mcp-server.d.ts.map +0 -1
- package/dist/utils/mcp-server.js +0 -390
- package/dist/utils/mcp-server.js.map +0 -1
- package/dist/utils/patcher.d.ts +0 -45
- package/dist/utils/patcher.d.ts.map +0 -1
- package/dist/utils/patcher.js +0 -202
- package/dist/utils/patcher.js.map +0 -1
- package/dist/utils/repo-mapper.d.ts +0 -32
- package/dist/utils/repo-mapper.d.ts.map +0 -1
- package/dist/utils/repo-mapper.js +0 -214
- package/dist/utils/repo-mapper.js.map +0 -1
- package/dist/utils/spinner.d.ts +0 -15
- package/dist/utils/spinner.d.ts.map +0 -1
- package/dist/utils/spinner.js +0 -67
- package/dist/utils/spinner.js.map +0 -1
- package/dist/utils/tui.d.ts +0 -134
- package/dist/utils/tui.d.ts.map +0 -1
- package/dist/utils/tui.js +0 -702
- package/dist/utils/tui.js.map +0 -1
- package/fix-npm-permissions.sh +0 -23
- package/publish-local.sh +0 -16
- package/skills-lock.json +0 -10
- package/src/api/client.ts +0 -197
- package/src/commands/ask.ts +0 -62
- package/src/commands/augov.ts +0 -301
- package/src/commands/bro.ts +0 -336
- package/src/commands/chaos.ts +0 -67
- package/src/commands/chat.ts +0 -61
- package/src/commands/code.ts +0 -99
- package/src/commands/config.ts +0 -78
- package/src/commands/dev.ts +0 -68
- package/src/commands/help.ts +0 -67
- package/src/commands/login.ts +0 -47
- package/src/commands/models.ts +0 -81
- package/src/commands/student.ts +0 -23
- package/src/commands/study.ts +0 -75
- package/src/index.ts +0 -284
- package/src/prompts/banter-augov.ts +0 -17
- package/src/prompts/banter.ts +0 -101
- package/src/prompts/chaos-prompts.ts +0 -48
- package/src/prompts/system-prompts.ts +0 -145
- package/src/session/agent-session.ts +0 -428
- package/src/utils/agent-orchestrator.ts +0 -264
- package/src/utils/augov-logger.ts +0 -34
- package/src/utils/augov-scrubber.ts +0 -67
- package/src/utils/command-executor.ts +0 -529
- package/src/utils/config.ts +0 -124
- package/src/utils/mcp-server.ts +0 -388
- package/src/utils/patcher.ts +0 -229
- package/src/utils/repo-mapper.ts +0 -198
- package/src/utils/spinner.ts +0 -66
- package/src/utils/tui.ts +0 -749
- package/test-chaos-container.js +0 -16
- package/test-chaos-fix.js +0 -18
- package/test-config.ts +0 -2
- package/test-ui-output.js +0 -16
- package/tsconfig.json +0 -27
- package/vertex_ai_agent.py +0 -52
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matex-cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.87",
|
|
4
4
|
"description": "MATEX CLI - The Agentic 'Bro-Swarm' for Engineering. Zero-Cost AI for Students and Pro-Grade Dev Power.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"matex": "bin/matex"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "
|
|
10
|
+
"build": "rm -rf dist && esbuild src/index.ts --bundle --platform=node --target=node16 --outfile=dist/index.js --minify",
|
|
11
11
|
"dev": "tsc --watch",
|
|
12
12
|
"test": "jest",
|
|
13
13
|
"postinstall": "echo \"\n🚀 MATEX AI :: THE BRO-SWARM IS LIVE!\n👉 Run 'matex help' to meet your engineering brothers and enter the zero-cost student universe.\n\"",
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
"coding-assistant",
|
|
23
23
|
"mac-engineering"
|
|
24
24
|
],
|
|
25
|
+
"files": [
|
|
26
|
+
"dist/index.js",
|
|
27
|
+
"bin",
|
|
28
|
+
"README.md",
|
|
29
|
+
"USAGE_GUIDE.md"
|
|
30
|
+
],
|
|
25
31
|
"author": "Ajay Sharma <ajaypoudel47@gmail.com>",
|
|
26
32
|
"license": "MIT",
|
|
27
33
|
"dependencies": {
|
|
@@ -29,16 +35,17 @@
|
|
|
29
35
|
"chalk": "^4.1.2",
|
|
30
36
|
"commander": "^11.1.0",
|
|
31
37
|
"conf": "^11.0.2",
|
|
38
|
+
"dotenv": "^16.3.1",
|
|
32
39
|
"inquirer": "^8.2.5",
|
|
33
|
-
"ora": "^5.4.1"
|
|
34
|
-
"dotenv": "^16.3.1"
|
|
40
|
+
"ora": "^5.4.1"
|
|
35
41
|
},
|
|
36
42
|
"devDependencies": {
|
|
37
43
|
"@types/inquirer": "^9.0.7",
|
|
44
|
+
"@types/jest": "^29.5.0",
|
|
38
45
|
"@types/node": "^20.10.0",
|
|
39
|
-
"
|
|
46
|
+
"esbuild": "^0.27.3",
|
|
40
47
|
"jest": "^29.7.0",
|
|
41
|
-
"
|
|
48
|
+
"typescript": "^5.3.0"
|
|
42
49
|
},
|
|
43
50
|
"engines": {
|
|
44
51
|
"node": ">=16.0.0"
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mcp-server-dev
|
|
3
|
-
description: Comprehensive guide and workflow for creating high-quality Model Context Protocol (MCP) servers.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# MCP Server Development Guide
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
This skill enables the creation of robust MCP servers that allow LLMs to interact with external services through well-designed tools.
|
|
10
|
-
|
|
11
|
-
## Phase 1: Deep Research and Planning
|
|
12
|
-
|
|
13
|
-
### 1.1 Understand Modern MCP Design
|
|
14
|
-
- **API Coverage vs. Workflow Tools**: Balance comprehensive API coverage with specialized workflow tools. When in doubt, prioritize comprehensive API coverage.
|
|
15
|
-
- **Tool Naming**: Use clear, consistent, action-oriented names (e.g., `prefix_action_object`).
|
|
16
|
-
- **Context Management**: Ensure tools return focused, relevant data with support for filtering and pagination.
|
|
17
|
-
- **Error Handling**: Provide actionable error messages with specific suggestions.
|
|
18
|
-
|
|
19
|
-
### 1.2 Protocol & SDK Research
|
|
20
|
-
- **MCP Spec**: Review [modelcontextprotocol.io](https://modelcontextprotocol.io/sitemap.xml).
|
|
21
|
-
- **TypeScript SDK (Recommended)**:
|
|
22
|
-
- Language: TypeScript
|
|
23
|
-
- Schema: Zod
|
|
24
|
-
- Transport: Streamable HTTP (remote/stateless) or stdio (local).
|
|
25
|
-
- **Python SDK**:
|
|
26
|
-
- Language: Python
|
|
27
|
-
- Schema: Pydantic
|
|
28
|
-
- Setup: FastMCP.
|
|
29
|
-
|
|
30
|
-
## Phase 2: Implementation
|
|
31
|
-
|
|
32
|
-
### 2.1 Project Structure
|
|
33
|
-
- **TypeScript**: `package.json`, `tsconfig.json`, `src/index.ts`.
|
|
34
|
-
- **Python**: `pyproject.toml` or `requirements.txt`, `main.py`.
|
|
35
|
-
|
|
36
|
-
### 2.2 Core Infrastructure
|
|
37
|
-
- Implement API client with authentication.
|
|
38
|
-
- Set up logging and error handling helpers.
|
|
39
|
-
- Implement pagination support.
|
|
40
|
-
|
|
41
|
-
### 2.3 Tool Implementation
|
|
42
|
-
- **Input Schema**: Strict validation with descriptions and examples.
|
|
43
|
-
- **Output Schema**: Structured data using `structuredContent`.
|
|
44
|
-
- **Hints**: Use `readOnlyHint`, `destructiveHint`, `idempotentHint`.
|
|
45
|
-
|
|
46
|
-
## Phase 3: Review and Test
|
|
47
|
-
- **Code Quality**: No duplication, consistent error handling, full types.
|
|
48
|
-
- **Testing**: Use **MCP Inspector** (`npx @modelcontextprotocol/inspector`).
|
|
49
|
-
|
|
50
|
-
## Phase 4: Create Evaluations
|
|
51
|
-
Create 10 complex, realistic, read-only questions in XML format to verify the server's effectiveness.
|
|
52
|
-
|
|
53
|
-
```xml
|
|
54
|
-
<evaluation>
|
|
55
|
-
<qa_pair>
|
|
56
|
-
<question>Complex user query requiring multiple tool calls...</question>
|
|
57
|
-
<answer>Verified string answer</answer>
|
|
58
|
-
</qa_pair>
|
|
59
|
-
</evaluation>
|
|
60
|
-
```
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "basic-mcp-server",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "A basic MCP server template",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build": "tsc",
|
|
9
|
-
"start": "node dist/index.js",
|
|
10
|
-
"dev": "tsc -w"
|
|
11
|
-
},
|
|
12
|
-
"dependencies": {
|
|
13
|
-
"@modelcontextprotocol/sdk": "^1.0.1",
|
|
14
|
-
"zod": "^3.22.4"
|
|
15
|
-
},
|
|
16
|
-
"devDependencies": {
|
|
17
|
-
"@types/node": "^20.11.0",
|
|
18
|
-
"typescript": "^5.3.3"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
-
import {
|
|
4
|
-
CallToolRequestSchema,
|
|
5
|
-
ListToolsRequestSchema,
|
|
6
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
7
|
-
import { z } from "zod";
|
|
8
|
-
|
|
9
|
-
const server = new Server(
|
|
10
|
-
{
|
|
11
|
-
name: "basic-mcp-server",
|
|
12
|
-
version: "1.0.0",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
capabilities: {
|
|
16
|
-
tools: {},
|
|
17
|
-
},
|
|
18
|
-
}
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Define your tools here
|
|
23
|
-
*/
|
|
24
|
-
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
25
|
-
return {
|
|
26
|
-
tools: [
|
|
27
|
-
{
|
|
28
|
-
name: "echo",
|
|
29
|
-
description: "Echoes back the input string",
|
|
30
|
-
inputSchema: {
|
|
31
|
-
type: "object",
|
|
32
|
-
properties: {
|
|
33
|
-
message: { type: "string", description: "The message to echo" },
|
|
34
|
-
},
|
|
35
|
-
required: ["message"],
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
};
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
43
|
-
if (request.params.name === "echo") {
|
|
44
|
-
const args = z.object({ message: z.string() }).parse(request.params.arguments);
|
|
45
|
-
return {
|
|
46
|
-
content: [
|
|
47
|
-
{
|
|
48
|
-
type: "text",
|
|
49
|
-
text: `Echo: ${args.message}`,
|
|
50
|
-
},
|
|
51
|
-
],
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
throw new Error("Tool not found");
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
async function main() {
|
|
58
|
-
const transport = new StdioServerTransport();
|
|
59
|
-
await server.connect(transport);
|
|
60
|
-
console.error("MCP Server running on stdio");
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
main().catch((error) => {
|
|
64
|
-
console.error("Fatal error:", error);
|
|
65
|
-
process.exit(1);
|
|
66
|
-
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# MCP Server Development Best Practices
|
|
2
|
-
|
|
3
|
-
## 1. Tool Design
|
|
4
|
-
* **Granularity**: Tools should be granular enough to be composed by the LLM, but high-level enough to provide value.
|
|
5
|
-
* **Naming**: Avoid generic names. Use `github_list_pull_requests` instead of `list_pr`.
|
|
6
|
-
* **Descriptions**: Treat tool descriptions as documentation for the LLM. Explain *why* and *when* to use it.
|
|
7
|
-
|
|
8
|
-
## 2. Response Handling
|
|
9
|
-
* **Structured Data**: Use `structuredContent` whenever possible. It allows the LLM to access data programmatically without parsing strings.
|
|
10
|
-
* **Markdown for Humans**: Use text content for human-readable summaries inside response objects.
|
|
11
|
-
* **Pagination**: AI models can only handle so much text. Always paginate large lists (e.g., `cursor`, `limit`).
|
|
12
|
-
|
|
13
|
-
## 3. Security
|
|
14
|
-
* **Input Sanitization**: Never trust inputs. Use Zod/Pydantic for strict schema validation.
|
|
15
|
-
* **Read-Only Safeties**: Mark read-only tools explicitly to prevent accidental mutations.
|
|
16
|
-
* **API Keys**: Never hardcode keys. Use environment variables or secret managers.
|
|
17
|
-
|
|
18
|
-
## 4. Evaluation
|
|
19
|
-
* **String Comparison**: Ensure answers are stable and literal for automated testing.
|
|
20
|
-
* **Edge Cases**: Test your server with ambiguous or malformed queries to see how it handles errors.
|
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pptx-presentation-builder
|
|
3
|
-
description: Build professional PPTX presentations with brand-aligned layouts using structured deck briefs and validation steps for pitch, roadmap, and product decks.
|
|
4
|
-
tags: [presentation, pptx, slides, storytelling, branding, pitch-deck]
|
|
5
|
-
platforms: [Claude, ChatGPT, Gemini, Codex]
|
|
6
|
-
allowed-tools:
|
|
7
|
-
- Write
|
|
8
|
-
- Read
|
|
9
|
-
- Task
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# PPTX Presentation Builder
|
|
13
|
-
|
|
14
|
-
브랜드 가이드라인에 맞춘 전문 PPTX 프레젠테이션 빌더 스킬입니다. 피치덱, 로드맵, 제품 소개 등 다양한 프레젠테이션을 구조화된 브리프와 검증 단계로 생성합니다.
|
|
15
|
-
|
|
16
|
-
## When to use this skill
|
|
17
|
-
|
|
18
|
-
- **전문 슬라이드 덱 필요**: 프롬프트에서 프레젠테이션 생성
|
|
19
|
-
- **브랜드 일관성 필요**: 가이드라인에 맞춘 일관된 슬라이드
|
|
20
|
-
- **반복 가능한 템플릿**: 제품, 피치, 로드맵 덱 템플릿화
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Instructions
|
|
25
|
-
|
|
26
|
-
### Step 1: Gather Brand Constraints
|
|
27
|
-
|
|
28
|
-
```yaml
|
|
29
|
-
brand_kit:
|
|
30
|
-
colors:
|
|
31
|
-
primary: "#2563EB"
|
|
32
|
-
secondary: "#6366F1"
|
|
33
|
-
accent: "#F59E0B"
|
|
34
|
-
background: "#FFFFFF"
|
|
35
|
-
text: "#1F2937"
|
|
36
|
-
fonts:
|
|
37
|
-
heading: "Inter"
|
|
38
|
-
body: "Inter"
|
|
39
|
-
mono: "JetBrains Mono"
|
|
40
|
-
logo:
|
|
41
|
-
placement: "top-left" | "bottom-right"
|
|
42
|
-
size: "small" | "medium"
|
|
43
|
-
style:
|
|
44
|
-
tone: "minimal" | "bold" | "executive"
|
|
45
|
-
corners: "sharp" | "rounded"
|
|
46
|
-
shadows: true | false
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### Step 2: Define Deck Structure
|
|
50
|
-
|
|
51
|
-
```markdown
|
|
52
|
-
## Deck Brief
|
|
53
|
-
|
|
54
|
-
### Meta
|
|
55
|
-
- **Title**: [덱 제목]
|
|
56
|
-
- **Audience**: [청중]
|
|
57
|
-
- **Goal**: [목표 - 투자 유치, 제품 소개, 보고]
|
|
58
|
-
- **Duration**: [발표 시간]
|
|
59
|
-
|
|
60
|
-
### Slides
|
|
61
|
-
| # | Type | Title | Key Message |
|
|
62
|
-
|---|------|-------|-------------|
|
|
63
|
-
| 1 | Title | Company Name | Tagline |
|
|
64
|
-
| 2 | Agenda | Today's Agenda | 3-5 bullet points |
|
|
65
|
-
| 3 | Problem | The Challenge | Pain point statement |
|
|
66
|
-
| 4 | Solution | Our Approach | Value proposition |
|
|
67
|
-
| 5 | Features | Key Capabilities | 3 features with icons |
|
|
68
|
-
| 6 | Demo | Product in Action | Screenshot/video |
|
|
69
|
-
| 7 | Traction | Growth Numbers | Key metrics |
|
|
70
|
-
| 8 | Team | Who We Are | Team photos + roles |
|
|
71
|
-
| 9 | Ask | The Opportunity | Investment/partnership ask |
|
|
72
|
-
| 10 | Contact | Get in Touch | Contact info + CTA |
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Step 3: Generate Slides
|
|
76
|
-
|
|
77
|
-
슬라이드별 콘텐츠 생성:
|
|
78
|
-
|
|
79
|
-
```markdown
|
|
80
|
-
## Slide 1: Title Slide
|
|
81
|
-
|
|
82
|
-
### Layout: Centered
|
|
83
|
-
|
|
84
|
-
### Content
|
|
85
|
-
- **Title**: [Company Name]
|
|
86
|
-
- **Subtitle**: [Tagline - 10 words max]
|
|
87
|
-
- **Visual**: Logo centered
|
|
88
|
-
- **Background**: Gradient (#2563EB → #6366F1)
|
|
89
|
-
|
|
90
|
-
### Speaker Notes
|
|
91
|
-
Welcome the audience. Introduce yourself and the company.
|
|
92
|
-
Set the context for why you're presenting today.
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
**슬라이드 타입별 템플릿**:
|
|
96
|
-
|
|
97
|
-
| Type | Layout | Elements |
|
|
98
|
-
|------|--------|----------|
|
|
99
|
-
| Title | Centered | Logo, Title, Subtitle |
|
|
100
|
-
| Agenda | Left-aligned | Numbered list (3-5 items) |
|
|
101
|
-
| Problem | Split | Text left, Visual right |
|
|
102
|
-
| Solution | Split | Visual left, Text right |
|
|
103
|
-
| Features | 3-column | Icon + Title + Description |
|
|
104
|
-
| Stats | Data cards | 3-4 key metrics |
|
|
105
|
-
| Quote | Centered | Quote text + attribution |
|
|
106
|
-
| Team | Grid | Photos + Names + Roles |
|
|
107
|
-
| CTA | Centered | Headline + Button |
|
|
108
|
-
|
|
109
|
-
### Step 4: Review and Refine
|
|
110
|
-
|
|
111
|
-
```markdown
|
|
112
|
-
## Review Checklist
|
|
113
|
-
|
|
114
|
-
### Layout Balance
|
|
115
|
-
- [ ] 시각적 균형 확인
|
|
116
|
-
- [ ] 여백 충분히 확보
|
|
117
|
-
- [ ] 정렬 일관성
|
|
118
|
-
|
|
119
|
-
### Typography
|
|
120
|
-
- [ ] 폰트 크기 계층 (H1 > H2 > Body)
|
|
121
|
-
- [ ] 가독성 확보 (최소 18pt body)
|
|
122
|
-
- [ ] 일관된 폰트 사용
|
|
123
|
-
|
|
124
|
-
### Content
|
|
125
|
-
- [ ] 슬라이드당 하나의 아이디어
|
|
126
|
-
- [ ] 텍스트 과밀 방지
|
|
127
|
-
- [ ] 데이터/주장의 출처 명시
|
|
128
|
-
|
|
129
|
-
### Accessibility
|
|
130
|
-
- [ ] 색상 대비 충분
|
|
131
|
-
- [ ] 이미지에 alt text
|
|
132
|
-
- [ ] 논리적 읽기 순서
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### Step 5: Export and Handoff
|
|
136
|
-
|
|
137
|
-
```markdown
|
|
138
|
-
## Handoff Package
|
|
139
|
-
|
|
140
|
-
### Files
|
|
141
|
-
- presentation.pptx
|
|
142
|
-
- presentation.pdf (backup)
|
|
143
|
-
- assets/ (images, logos)
|
|
144
|
-
|
|
145
|
-
### Summary
|
|
146
|
-
- **Total Slides**: [count]
|
|
147
|
-
- **Estimated Duration**: [minutes]
|
|
148
|
-
- **Key Narrative Arc**: [brief description]
|
|
149
|
-
|
|
150
|
-
### Editing Notes
|
|
151
|
-
- Slide 5: [specific edit note]
|
|
152
|
-
- Slide 8: [specific edit note]
|
|
153
|
-
|
|
154
|
-
### Post-Export Checklist
|
|
155
|
-
- [ ] Font embedding verified
|
|
156
|
-
- [ ] Images high resolution
|
|
157
|
-
- [ ] Animations functional
|
|
158
|
-
- [ ] Links active
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## Examples
|
|
164
|
-
|
|
165
|
-
### Example 1: 5-Slide Roadmap
|
|
166
|
-
|
|
167
|
-
**Prompt**:
|
|
168
|
-
```
|
|
169
|
-
Create a 5-slide roadmap deck for Q2–Q4
|
|
170
|
-
with modern design and speaker notes.
|
|
171
|
-
Target: Engineering leadership.
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
**Expected output**:
|
|
175
|
-
```markdown
|
|
176
|
-
## Roadmap Deck
|
|
177
|
-
|
|
178
|
-
### Slide 1: Title
|
|
179
|
-
- Q2-Q4 Product Roadmap
|
|
180
|
-
- Engineering Review | [Date]
|
|
181
|
-
|
|
182
|
-
### Slide 2: Executive Summary
|
|
183
|
-
- 3 key themes for the period
|
|
184
|
-
- Success metrics overview
|
|
185
|
-
|
|
186
|
-
### Slide 3: Timeline
|
|
187
|
-
- Gantt-style view
|
|
188
|
-
- Q2: Foundation | Q3: Scale | Q4: Optimize
|
|
189
|
-
- Key milestones marked
|
|
190
|
-
|
|
191
|
-
### Slide 4: Dependencies & Risks
|
|
192
|
-
- Cross-team dependencies
|
|
193
|
-
- Risk matrix (Impact vs Likelihood)
|
|
194
|
-
- Mitigation strategies
|
|
195
|
-
|
|
196
|
-
### Slide 5: Next Steps
|
|
197
|
-
- Immediate action items
|
|
198
|
-
- Review cadence
|
|
199
|
-
- Feedback channels
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### Example 2: Investor Pitch Deck
|
|
203
|
-
|
|
204
|
-
**Prompt**:
|
|
205
|
-
```
|
|
206
|
-
Build a 10-slide investor pitch deck for an AI SaaS.
|
|
207
|
-
Include: problem, solution, market, traction, team, ask.
|
|
208
|
-
Series A context, $5M target.
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
**Expected output**:
|
|
212
|
-
- Slide-by-slide content with speaker notes
|
|
213
|
-
- Consistent brand styling
|
|
214
|
-
- Data visualization for traction
|
|
215
|
-
- Clear ask slide with use of funds
|
|
216
|
-
|
|
217
|
-
### Example 3: Product Demo Deck
|
|
218
|
-
|
|
219
|
-
**Prompt**:
|
|
220
|
-
```
|
|
221
|
-
Create an 8-slide product demo deck.
|
|
222
|
-
Audience: Potential enterprise customers.
|
|
223
|
-
Focus: Features, integrations, security.
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
**Expected output**:
|
|
227
|
-
- Feature showcase slides
|
|
228
|
-
- Integration diagram
|
|
229
|
-
- Security compliance overview
|
|
230
|
-
- Customer success stories
|
|
231
|
-
- Next steps / trial CTA
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## Best practices
|
|
236
|
-
|
|
237
|
-
1. **One idea per slide**: 과밀 방지
|
|
238
|
-
2. **Visual hierarchy**: Titles > Headings > Body
|
|
239
|
-
3. **Use speaker notes**: 슬라이드 텍스트 최소화
|
|
240
|
-
4. **Data clarity**: 차트 > 텍스트 단락
|
|
241
|
-
5. **Consistent theming**: 색상, 폰트, 간격 통일
|
|
242
|
-
|
|
243
|
-
---
|
|
244
|
-
|
|
245
|
-
## Common pitfalls
|
|
246
|
-
|
|
247
|
-
- **테마 혼합**: 하나의 덱에 여러 스타일
|
|
248
|
-
- **일관성 없는 간격/타이포**: 슬라이드마다 다름
|
|
249
|
-
- **내러티브 흐름 없음**: 논리적 연결 부재
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## Troubleshooting
|
|
254
|
-
|
|
255
|
-
### Issue: Slides feel inconsistent
|
|
256
|
-
**Cause**: 브랜드 토큰 누락
|
|
257
|
-
**Solution**: 템플릿 제공, 테마 강제 적용
|
|
258
|
-
|
|
259
|
-
### Issue: Slides are too dense
|
|
260
|
-
**Cause**: 슬라이드당 텍스트 과다
|
|
261
|
-
**Solution**: 콘텐츠 분할, 비주얼 활용
|
|
262
|
-
|
|
263
|
-
### Issue: Narrative unclear
|
|
264
|
-
**Cause**: 슬라이드 순서 문제
|
|
265
|
-
**Solution**: 스토리 아크 재구성
|
|
266
|
-
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
## Output format
|
|
270
|
-
|
|
271
|
-
```markdown
|
|
272
|
-
## Presentation Report
|
|
273
|
-
|
|
274
|
-
### Overview
|
|
275
|
-
- **Title**: [deck title]
|
|
276
|
-
- **Slides**: [count]
|
|
277
|
-
- **Duration**: [minutes]
|
|
278
|
-
- **Audience**: [target]
|
|
279
|
-
|
|
280
|
-
### Slide-by-Slide
|
|
281
|
-
|
|
282
|
-
#### Slide 1: [Title]
|
|
283
|
-
**Type**: [slide type]
|
|
284
|
-
**Layout**: [layout description]
|
|
285
|
-
**Content**:
|
|
286
|
-
- [content items]
|
|
287
|
-
|
|
288
|
-
**Speaker Notes**:
|
|
289
|
-
[notes]
|
|
290
|
-
|
|
291
|
-
---
|
|
292
|
-
#### Slide 2: [Title]
|
|
293
|
-
...
|
|
294
|
-
|
|
295
|
-
### Brand Tokens Applied
|
|
296
|
-
- Primary: [color]
|
|
297
|
-
- Font: [font family]
|
|
298
|
-
- Style: [tone]
|
|
299
|
-
|
|
300
|
-
### Files Delivered
|
|
301
|
-
- [ ] presentation.pptx
|
|
302
|
-
- [ ] assets.zip
|
|
303
|
-
```
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
## Multi-Agent Workflow
|
|
308
|
-
|
|
309
|
-
### Validation & Retrospectives
|
|
310
|
-
|
|
311
|
-
- **Round 1 (Orchestrator)**: 내러티브 아크, 슬라이드 수 정합성
|
|
312
|
-
- **Round 2 (Analyst)**: 레이아웃 일관성, 브랜드 준수
|
|
313
|
-
- **Round 3 (Executor)**: 내보내기 준비 상태 체크
|
|
314
|
-
|
|
315
|
-
### Agent Roles
|
|
316
|
-
|
|
317
|
-
| Agent | Role |
|
|
318
|
-
|-------|------|
|
|
319
|
-
| Claude | 내러티브 구성, 콘텐츠 생성 |
|
|
320
|
-
| Gemini | 데이터 시각화 제안, 레퍼런스 리서치 |
|
|
321
|
-
| Codex | 템플릿 코드 생성, 자동화 |
|
|
322
|
-
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
## Metadata
|
|
326
|
-
|
|
327
|
-
### Version
|
|
328
|
-
- **Current Version**: 1.0.0
|
|
329
|
-
- **Last Updated**: 2026-01-21
|
|
330
|
-
- **Compatible Platforms**: Claude, ChatGPT, Gemini, Codex
|
|
331
|
-
|
|
332
|
-
### Related Skills
|
|
333
|
-
- [technical-writing](../technical-writing/SKILL.md)
|
|
334
|
-
- [image-generation](../../creative-media/image-generation/SKILL.md)
|
|
335
|
-
- [marketing-automation](../../marketing/marketing-automation/SKILL.md)
|
|
336
|
-
|
|
337
|
-
### Tags
|
|
338
|
-
`#presentation` `#pptx` `#slides` `#storytelling` `#branding` `#pitch-deck`
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: How to build and publish a new version of Matex CLI
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
Follow these steps to safely build and publish a new version of the **MATEX AI CLI** to NPM.
|
|
6
|
-
|
|
7
|
-
### 🚀 Deployment Workflow
|
|
8
|
-
|
|
9
|
-
1. **Build the Project**
|
|
10
|
-
// turbo
|
|
11
|
-
`npm run build`
|
|
12
|
-
*Ensures all TypeScript files are compiled to JavaScript in the `dist` folder.*
|
|
13
|
-
|
|
14
|
-
2. **Patch Version**
|
|
15
|
-
// turbo
|
|
16
|
-
`npm version patch`
|
|
17
|
-
*Automatically increments the version number in `package.json` (e.g., 1.2.26 -> 1.2.27).*
|
|
18
|
-
|
|
19
|
-
3. **Publish to NPM**
|
|
20
|
-
// turbo
|
|
21
|
-
`npm publish`
|
|
22
|
-
*Uploads the latest build to the NPM registry.*
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
**💡 Tip:** You can run all these commands at once by typing:
|
|
27
|
-
`npm run build && npm version patch && npm publish`
|
package/dist/api/client.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export interface ChatMessage {
|
|
2
|
-
role: 'user' | 'assistant' | 'system';
|
|
3
|
-
content: string;
|
|
4
|
-
}
|
|
5
|
-
export interface ChatRequest {
|
|
6
|
-
messages: ChatMessage[];
|
|
7
|
-
model: string;
|
|
8
|
-
temperature?: number;
|
|
9
|
-
max_tokens?: number;
|
|
10
|
-
stream?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare class MatexAPIClient {
|
|
13
|
-
private client;
|
|
14
|
-
private apiKey;
|
|
15
|
-
private baseURL;
|
|
16
|
-
private sovereignKey;
|
|
17
|
-
constructor(apiKey: string, baseURL?: string);
|
|
18
|
-
setSovereignKey(key: string): void;
|
|
19
|
-
/**
|
|
20
|
-
* Send a streaming chat request to the API
|
|
21
|
-
*/
|
|
22
|
-
chatStream(request: ChatRequest, onChunk: (chunk: string) => void, signal?: AbortSignal): Promise<string>;
|
|
23
|
-
/**
|
|
24
|
-
* Send a chat request to the API (non-streaming fallback)
|
|
25
|
-
*/
|
|
26
|
-
chat(request: ChatRequest): Promise<string>;
|
|
27
|
-
/**
|
|
28
|
-
* Handle Server-Sent Events (SSE) streaming response
|
|
29
|
-
*/
|
|
30
|
-
private handleStreamingResponse;
|
|
31
|
-
/**
|
|
32
|
-
* List available API keys (requires Firebase token, not for CLI use)
|
|
33
|
-
*/
|
|
34
|
-
listAPIKeys(): Promise<any>;
|
|
35
|
-
/**
|
|
36
|
-
* Test API key validity
|
|
37
|
-
*/
|
|
38
|
-
testConnection(): Promise<boolean>;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/api/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,YAAY,CAAuB;gBAE/B,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAmE;IAcxG,eAAe,CAAC,GAAG,EAAE,MAAM;IAI3B;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAyE/G;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBjD;;OAEG;YACW,uBAAuB;IA+BrC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAKjC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAY3C"}
|