matimo 0.1.0-alpha.2 → 0.1.0-alpha.3

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.
Files changed (88) hide show
  1. package/README.md +80 -26
  2. package/dist/core/schema.d.ts +1 -1
  3. package/dist/core/schema.d.ts.map +1 -1
  4. package/dist/core/schema.js +8 -3
  5. package/dist/core/schema.js.map +1 -1
  6. package/dist/core/tool-loader.d.ts.map +1 -1
  7. package/dist/core/tool-loader.js +15 -4
  8. package/dist/core/tool-loader.js.map +1 -1
  9. package/dist/core/tool-registry.d.ts.map +1 -1
  10. package/dist/core/tool-registry.js +5 -1
  11. package/dist/core/tool-registry.js.map +1 -1
  12. package/dist/decorators/tool-decorator.d.ts.map +1 -1
  13. package/dist/decorators/tool-decorator.js +7 -4
  14. package/dist/decorators/tool-decorator.js.map +1 -1
  15. package/dist/encodings/parameter-encoding.d.ts.map +1 -1
  16. package/dist/encodings/parameter-encoding.js +9 -2
  17. package/dist/encodings/parameter-encoding.js.map +1 -1
  18. package/dist/executors/command-executor.d.ts.map +1 -1
  19. package/dist/executors/command-executor.js +5 -1
  20. package/dist/executors/command-executor.js.map +1 -1
  21. package/dist/executors/http-executor.d.ts.map +1 -1
  22. package/dist/executors/http-executor.js +5 -1
  23. package/dist/executors/http-executor.js.map +1 -1
  24. package/package.json +4 -8
  25. package/tools/calculator/calculator.ts +78 -0
  26. package/tools/calculator/definition.yaml +71 -0
  27. package/tools/echo-tool/definition.yaml +35 -0
  28. package/tools/examples/calculator.yaml +54 -0
  29. package/tools/examples/echo-tool.yaml +35 -0
  30. package/tools/examples/http-client.yaml +66 -0
  31. package/tools/github/definition.yaml +41 -0
  32. package/tools/gmail/README.md +1189 -0
  33. package/tools/gmail/create-draft/definition.yaml +99 -0
  34. package/tools/gmail/definition.yaml +49 -0
  35. package/tools/gmail/delete-message/definition.yaml +42 -0
  36. package/tools/gmail/get-message/definition.yaml +89 -0
  37. package/tools/gmail/list-messages/definition.yaml +84 -0
  38. package/tools/gmail/send-email/definition.yaml +95 -0
  39. package/tools/http-client/definition.yaml +73 -0
  40. package/tools/slack/README.md +200 -0
  41. package/tools/slack/assets/icon.svg +9 -0
  42. package/tools/slack/assets/logo-dark.svg +14 -0
  43. package/tools/slack/assets/logo-light.svg +14 -0
  44. package/tools/slack/assets/logo.svg +14 -0
  45. package/tools/slack/definition.yaml +54 -0
  46. package/tools/slack/get-user/definition.yaml +31 -0
  47. package/tools/slack/list-channels/definition.yaml +46 -0
  48. package/tools/slack/send-message/definition.yaml +30 -0
  49. package/tools/slack/slack_add_reaction/definition.yaml +45 -0
  50. package/tools/slack/slack_create_channel/definition.yaml +41 -0
  51. package/tools/slack/slack_get_channel_history/definition.yaml +58 -0
  52. package/tools/slack/slack_get_reactions/definition.yaml +36 -0
  53. package/tools/slack/slack_get_thread_replies/definition.yaml +45 -0
  54. package/tools/slack/slack_get_user_info/definition.yaml +32 -0
  55. package/tools/slack/slack_join_channel/definition.yaml +35 -0
  56. package/tools/slack/slack_reply_to_message/definition.yaml +49 -0
  57. package/tools/slack/slack_search_messages/definition.yaml +46 -0
  58. package/tools/slack/slack_send_channel_message/definition.yaml +34 -0
  59. package/tools/slack/slack_send_dm/definition.yaml +37 -0
  60. package/tools/slack/slack_set_channel_topic/definition.yaml +40 -0
  61. package/tools/slack/slack_upload_file/definition.yaml +152 -0
  62. package/docs/Gemfile +0 -5
  63. package/docs/RELEASES.md +0 -90
  64. package/docs/ROADMAP.md +0 -138
  65. package/docs/_config.yml +0 -27
  66. package/docs/api-reference/ERRORS.md +0 -445
  67. package/docs/api-reference/SDK.md +0 -582
  68. package/docs/api-reference/TYPES.md +0 -415
  69. package/docs/architecture/OAUTH.md +0 -1366
  70. package/docs/architecture/OVERVIEW.md +0 -564
  71. package/docs/assets/logo.png +0 -0
  72. package/docs/community/COMMIT_GUIDELINES.md +0 -552
  73. package/docs/framework-integrations/LANGCHAIN.md +0 -286
  74. package/docs/getting-started/QUICK_START.md +0 -212
  75. package/docs/getting-started/YOUR_FIRST_TOOL.md +0 -217
  76. package/docs/getting-started/installation.md +0 -124
  77. package/docs/index.md +0 -289
  78. package/docs/tool-development/DECORATOR_GUIDE.md +0 -633
  79. package/docs/tool-development/OAUTH_LINK.md +0 -5
  80. package/docs/tool-development/PROVIDER_CONFIGURATION.md +0 -458
  81. package/docs/tool-development/TESTING.md +0 -412
  82. package/docs/tool-development/TOOL_SPECIFICATION.md +0 -793
  83. package/docs/tool-development/YAML_TOOLS.md +0 -65
  84. package/docs/troubleshooting/FAQ.md +0 -391
  85. package/docs/user-guide/AUTHENTICATION.md +0 -255
  86. package/docs/user-guide/DEVELOPMENT_STANDARDS.md +0 -698
  87. package/docs/user-guide/SDK_PATTERNS.md +0 -316
  88. package/docs/user-guide/TOOL_DISCOVERY.md +0 -209
@@ -1,124 +0,0 @@
1
- # Installation & Setup
2
-
3
- ## Requirements
4
-
5
- - **Node.js**: v18.0.0 or higher
6
- - **pnpm**: v8.15.0 or higher (preferred package manager)
7
- - **Git**: For cloning the repository
8
-
9
- ## Installation Options
10
-
11
- ### Option 1: From npm (Recommended for Users)
12
-
13
- ```bash
14
- npm install matimo
15
- # or with pnpm (recommended)
16
- pnpm add matimo
17
- ```
18
-
19
- **Note**: v0.1.0-alpha.1 is available on npm. Stable v1.0.0 release coming in Q4 2026.
20
-
21
- ### Option 2: From Source (Recommended for Contributors)
22
-
23
- ```bash
24
- # Clone the repository
25
- git clone https://github.com/tallclub/matimo.git
26
- cd matimo
27
-
28
- # Install dependencies
29
- pnpm install
30
-
31
- # Build TypeScript
32
- pnpm build
33
-
34
- # Run tests to verify installation
35
- pnpm test
36
- ```
37
-
38
- ## Verify Installation
39
-
40
- ```typescript
41
- // test-install.ts
42
- import { matimo } from 'matimo';
43
-
44
- const instance = await matimo.init('./tools');
45
- console.log(`✅ Matimo installed successfully`);
46
- console.log(`📦 Loaded ${instance.listTools().length} tools`);
47
- ```
48
-
49
- Run it:
50
-
51
- ```bash
52
- npx tsx test-install.ts
53
- ```
54
-
55
- ## Next Steps
56
-
57
- - **New Users**: Go to [Quick Start](./QUICK_START.md)
58
- - **Want Examples**: See [examples/](../../examples/)
59
- - **Building Tools**: Read [Tool Specification](../tool-development/YAML_TOOLS.md)
60
- - **Using Decorators**: Check [Decorator Guide](../tool-development/DECORATOR_GUIDE.md)
61
-
62
- ## Troubleshooting Installation
63
-
64
- ### Node.js Version Error
65
-
66
- ```bash
67
- node --version # Should be v18.0.0 or higher
68
- ```
69
-
70
- If lower, install Node.js 18+ from [nodejs.org](https://nodejs.org/)
71
-
72
- ### pnpm Installation
73
-
74
- ```bash
75
- npm install -g pnpm@8.15.0
76
- pnpm --version # Should be 8.15.0 or higher
77
- ```
78
-
79
- ### Build Errors
80
-
81
- ```bash
82
- # Clear and rebuild
83
- pnpm clean
84
- pnpm install
85
- pnpm build
86
- ```
87
-
88
- If issues persist, check [Troubleshooting Guide](../troubleshooting/FAQ.md)
89
-
90
- ## System Requirements
91
-
92
- | Component | Requirement |
93
- |-----------|------------|
94
- | Node.js | ≥ 18.0.0 |
95
- | pnpm | ≥ 8.15.0 |
96
- | TypeScript | ≥ 5.0 (included) |
97
- | Disk Space | ~500MB (with node_modules) |
98
- | Memory | ≥ 512MB for build |
99
-
100
- ## IDE Setup
101
-
102
- ### VS Code (Recommended)
103
-
104
- ```bash
105
- # Extensions to install
106
- - ES7+ React/Redux/React-Native snippets
107
- - Prettier - Code formatter
108
- - ESLint
109
- - Thunder Client (for testing HTTP tools)
110
- ```
111
-
112
- ### WebStorm / IntelliJ
113
-
114
- Works out of the box with TypeScript support.
115
-
116
- ## Quick Verification Checklist
117
-
118
- - [ ] Node.js v18+ installed
119
- - [ ] pnpm v8.15+ installed
120
- - [ ] Repository cloned
121
- - [ ] `pnpm install` completed
122
- - [ ] `pnpm build` successful
123
- - [ ] `pnpm test` all passing
124
- - [ ] Ready to start! 🚀
package/docs/index.md DELETED
@@ -1,289 +0,0 @@
1
- # Matimo Documentation
2
- <p align="center">
3
- <img src="./assets/logo.png" alt="Matimo Logo" width="120" style="border-radius: 8px; margin: 20px 0;" />
4
- </p>
5
-
6
- **Matimo** (Maximum AI Tools in Modular Objects) — Define tools once in YAML, use them everywhere.
7
-
8
- > Built to solve the universal tool orchestration problem for AI agents.
9
-
10
- Complete documentation for Matimo.
11
-
12
- ## Getting Started
13
-
14
- - **[Quick Start](./getting-started/QUICK_START.md)** — Get up and running in 5 minutes
15
- - Installation with npm/pnpm
16
- - Load tools from directory
17
- - Execute tools with SDK
18
- - Use MCP Server
19
- - Common tasks and examples
20
-
21
- ## Reference
22
-
23
- - **[API Reference](./api-reference/SDK.md)** — Complete TypeScript SDK documentation
24
- - MatimoFactory for creating instances
25
- - ToolLoader for loading tools
26
- - ToolRegistry for managing tools
27
- - CommandExecutor and HttpExecutor
28
- - Error handling and error codes
29
- - Complete type definitions
30
-
31
- - **[Architecture Overview](./architecture/OVERVIEW.md)** — System design and patterns
32
- - High-level architecture
33
- - Framework integration patterns (3 approaches)
34
- - Pure SDK vs Framework integration
35
- - Data flow diagrams
36
-
37
- - **[Tool Specification](./tool-development/TOOL_SPECIFICATION.md)** — How to write YAML tools
38
- - Tool metadata (name, version, description)
39
- - Parameter types and validation
40
- - Execution types (command, HTTP, script)
41
- - Output schema definition
42
- - Authentication configuration
43
- - Error handling and retry logic
44
- - Complete YAML examples
45
-
46
- - **[Decorator Guide](./tool-development/DECORATOR_GUIDE.md)** — Using @tool TypeScript decorators
47
- - @tool and @param decorators
48
- - Type-safe tool definitions
49
- - Async tool execution
50
- - Error handling in decorators
51
- - Testing decorator tools
52
- - Migration from YAML to decorators
53
-
54
- - **[Framework Integrations](./framework-integrations/LANGCHAIN.md)** — LangChain & CrewAI patterns
55
- - LangChain Agent integration
56
- - Decorator pattern with frameworks
57
- - CrewAI tool composition
58
- - Custom AI framework integration
59
-
60
- ## Security
61
-
62
- - **[Security Guide](../SECURITY.md)** — Security standards and best practices
63
- - Core security principles
64
- - Secret management (environment variables)
65
- - Input validation with schemas
66
- - Error handling without leaking information
67
- - Logging without sensitive data
68
- - Authentication mechanisms
69
- - Command execution safety
70
- - Common vulnerabilities and fixes
71
- - Security checklist
72
- - Responsible vulnerability disclosure
73
-
74
- ## Development
75
-
76
- - **[Commit Guidelines](./community/COMMIT_GUIDELINES.md)** — Conventional commits standard
77
- - Commit format and components
78
- - Type, scope, and subject guidelines
79
- - Commit examples (feat, fix, docs, etc.)
80
- - Best practices and common mistakes
81
- - Git workflow and aliases
82
-
83
- - **[Development Standards](./user-guide/DEVELOPMENT_STANDARDS.md)** — Code quality rules
84
- - TypeScript strict mode requirements
85
- - Naming conventions (classes, functions, constants)
86
- - Error handling patterns
87
- - Testing standards and coverage targets
88
- - Documentation and JSDoc standards
89
- - Security standards (validation, secrets, escaping)
90
- - Logging with structured information
91
- - Performance and memory targets
92
- - Quality metrics and checklists
93
-
94
- - **[Contributing Guidelines](../CONTRIBUTING.md)** — How to contribute to Matimo
95
- - Getting started and setup
96
- - Code standards and best practices
97
- - Testing with TDD approach
98
- - Commit and PR requirements
99
- - Adding new tools
100
- - Performance and quality targets
101
- - Roadmap and current focus
102
-
103
- ---
104
-
105
- ## Quick Navigation
106
-
107
- ### For First-Time Users
108
- 1. Start with [Quick Start](./getting-started/QUICK_START.md) for setup
109
- 2. Check [API Reference](./api-reference/SDK.md) for SDK usage
110
- 3. See [Tool Specification](./tool-development/TOOL_SPECIFICATION.md) to write tools
111
- 4. Review [Architecture Overview](./architecture/OVERVIEW.md) to understand design
112
-
113
- ### For Tool Writers
114
- 1. Read [Tool Specification](./tool-development/TOOL_SPECIFICATION.md) for YAML tools
115
- 2. Or use [Decorator Guide](./tool-development/DECORATOR_GUIDE.md) for TypeScript tools
116
- 3. Follow [Development Standards](./user-guide/DEVELOPMENT_STANDARDS.md) for code quality
117
-
118
- ### For Framework Integration
119
- 1. Check [Framework Integrations](./framework-integrations/LANGCHAIN.md) for LangChain/CrewAI
120
- 2. See [Architecture Overview](./architecture/OVERVIEW.md) for integration patterns
121
- 3. Review examples in `examples/` directory
122
-
123
- ### For Contributors
124
- 1. Check [Contributing Guidelines](../CONTRIBUTING.md) for contribution guidelines
125
- 2. Follow [Development Standards](./user-guide/DEVELOPMENT_STANDARDS.md) for code quality
126
- 3. Use [Commit Guidelines](./community/COMMIT_GUIDELINES.md) for proper commit format
127
-
128
- ### For Maintainers
129
- 1. Review [Development Standards](./user-guide/DEVELOPMENT_STANDARDS.md) for quality metrics
130
- 2. Check [Commit Guidelines](./community/COMMIT_GUIDELINES.md) for PR commit validation
131
- 3. See [Contributing Guidelines](../CONTRIBUTING.md) for overall workflow
132
-
133
- ---
134
-
135
- ## Documentation Structure
136
-
137
- ```
138
- docs/
139
- ├── index.md # This file - documentation index
140
- ├── RELEASES.md # Release notes and changelog
141
- ├── ROADMAP.md # Project roadmap
142
- ├── getting-started/
143
- │ ├── QUICK_START.md # 5-minute setup guide
144
- │ ├── installation.md # Detailed installation instructions
145
- │ └── YOUR_FIRST_TOOL.md # Create your first tool
146
- ├── api-reference/
147
- │ ├── SDK.md # Complete SDK API
148
- │ ├── ERRORS.md # Error handling and error codes
149
- │ └── TYPES.md # TypeScript type definitions
150
- ├── tool-development/
151
- │ ├── TOOL_SPECIFICATION.md # YAML tool schema
152
- │ ├── DECORATOR_GUIDE.md # TypeScript decorators
153
- │ ├── TESTING.md # Testing tools
154
- │ ├── PROVIDER_CONFIGURATION.md # Multi-provider setup
155
- │ └── OAUTH_LINK.md # OAuth authentication
156
- ├── framework-integrations/
157
- │ └── LANGCHAIN.md # LangChain & framework patterns
158
- ├── architecture/
159
- │ └── OVERVIEW.md # System design and patterns
160
- ├── user-guide/
161
- │ ├── SDK_PATTERNS.md # SDK usage patterns
162
- │ ├── TOOL_DISCOVERY.md # Discovering tools
163
- │ ├── AUTHENTICATION.md # Authentication setup
164
- │ └── DEVELOPMENT_STANDARDS.md # Code quality rules
165
- ├── community/
166
- │ └── COMMIT_GUIDELINES.md # Conventional commits
167
- └── troubleshooting/
168
- └── FAQ.md # Common questions & solutions
169
-
170
- Root-level files:
171
- ├── ../CONTRIBUTING.md # Contribution guidelines
172
- ├── ../SECURITY.md # Security policy
173
- └── ../README.md # Project overview
174
- ```
175
-
176
- ---
177
-
178
- ## Key Concepts
179
-
180
- ### Tools
181
- Tools are the building blocks of Matimo. They define what can be executed, what parameters they accept, and how they run.
182
-
183
- - **YAML Tools** — Declarative tool definitions (see [Tool Specification](./TOOL_SPECIFICATION.md))
184
- - **Decorator Tools** — TypeScript-based tool definitions (see [Decorator Guide](./DECORATOR_GUIDE.md))
185
-
186
- ### Executors
187
- Executors run tools with different backends:
188
- - **CommandExecutor** — Execute shell commands
189
- - **HttpExecutor** — Make HTTP requests
190
-
191
- See [API Reference](./API_REFERENCE.md) for details.
192
-
193
- ### SDK
194
- Use the Matimo SDK (TypeScript) to load and execute tools:
195
-
196
- ```typescript
197
- import { MatimoFactory } from 'matimo';
198
-
199
- const matimo = MatimoFactory.create({ toolsPath: './tools' });
200
- const result = await matimo.executeTool('tool-name', { param: 'value' });
201
- ```
202
-
203
- See [Quick Start](./getting-started/QUICK_START.md) and [API Reference](./api-reference/SDK.md).
204
-
205
- ### MCP Server
206
- Matimo can run as an MCP server, allowing Claude and other clients to discover and use tools:
207
-
208
- ```typescript
209
- // MCP Server - Coming in Phase 2
210
- // import { MCPServer } from 'matimo/mcp';
211
-
212
- const server = new MCPServer({ toolsPath: './tools', port: 3000 });
213
- await server.start();
214
- ```
215
-
216
- See [Quick Start](./getting-started/QUICK_START.md) for setup.
217
-
218
- ---
219
-
220
- ## Standards & Practices
221
-
222
- ### Code Quality
223
- - **TypeScript**: Strict mode enforced (no `any`)
224
- - **Testing**: 80%+ coverage, TDD approach
225
- - **Linting**: ESLint with automatic formatting
226
- - **Documentation**: JSDoc comments for all public APIs
227
-
228
- See [Development Standards](./DEVELOPMENT_STANDARDS.md).
229
-
230
- ### Commits
231
- - **Format**: Conventional Commits (type(scope): subject)
232
- - **Types**: feat, fix, docs, refactor, test, chore, perf, style, ci
233
- - **Examples**: "feat(executor): add HTTP support", "fix(schema): validate enums"
234
-
235
- See [Commit Guidelines](./community/COMMIT_GUIDELINES.md).
236
-
237
- ### Pull Requests
238
- - Follow TDD approach (test first, implement after)
239
- - Keep PRs focused (one feature/fix per PR)
240
- - Ensure tests pass and coverage maintained (80%+)
241
- - Follow code standards and get code review
242
-
243
- See [Contributing Guidelines](../CONTRIBUTING.md).
244
-
245
- ---
246
-
247
- ## Common Tasks
248
-
249
- ### Write a YAML Tool
250
- 1. Create `tools/provider/tool-name.yaml`
251
- 2. Follow [Tool Specification](./tool-development/TOOL_SPECIFICATION.md) schema
252
- 3. Include parameters, execution, output_schema
253
- 4. Add authentication if needed
254
- 5. Test with `pnpm test`
255
-
256
- ### Write a Decorator Tool
257
- 1. Create `src/tools/tool-name.tool.ts`
258
- 2. Use @tool and @param decorators
259
- 3. Implement execute() or async execute()
260
- 4. Follow [Decorator Guide](./tool-development/DECORATOR_GUIDE.md) patterns
261
- 5. Add unit tests
262
-
263
- ### Integrate with LangChain
264
- 1. See [Framework Integrations](./framework-integrations/LANGCHAIN.md) for patterns
265
- 2. Check `examples/langchain/` for working examples
266
- 3. Follow [Architecture Overview](./architecture/OVERVIEW.md) for design decisions
267
-
268
- ### Contribute Code
269
- 1. Fork and clone repository
270
- 2. Create feature branch: `git checkout -b feat/description`
271
- 3. Write tests first (TDD)
272
- 4. Implement feature
273
- 5. Follow [Development Standards](./user-guide/DEVELOPMENT_STANDARDS.md)
274
- 6. Commit using [Commit Guidelines](./community/COMMIT_GUIDELINES.md)
275
- 7. Push and create PR
276
- 8. Follow [Contributing Guidelines](../CONTRIBUTING.md) checklist
277
-
278
- ---
279
-
280
- ## Need Help?
281
-
282
- - **Questions?** Check relevant documentation or open a [GitHub Discussion](https://github.com/tallclub/matimo/discussions)
283
- - **Found a bug?** [Open an issue](https://github.com/tallclub/matimo/issues)
284
- - **Troubleshooting?** See [FAQ](./troubleshooting/FAQ.md)
285
- - **Want to contribute?** See [Contributing Guidelines](../CONTRIBUTING.md)
286
-
287
- ---
288
-
289
- Last updated: February 2026