matimo 0.1.0-alpha.1
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/LICENSE +21 -0
- package/README.md +651 -0
- package/dist/auth/oauth2-config.d.ts +104 -0
- package/dist/auth/oauth2-config.d.ts.map +1 -0
- package/dist/auth/oauth2-config.js +38 -0
- package/dist/auth/oauth2-config.js.map +1 -0
- package/dist/auth/oauth2-handler.d.ts +130 -0
- package/dist/auth/oauth2-handler.d.ts.map +1 -0
- package/dist/auth/oauth2-handler.js +265 -0
- package/dist/auth/oauth2-handler.js.map +1 -0
- package/dist/auth/oauth2-provider-loader.d.ts +68 -0
- package/dist/auth/oauth2-provider-loader.d.ts.map +1 -0
- package/dist/auth/oauth2-provider-loader.js +120 -0
- package/dist/auth/oauth2-provider-loader.js.map +1 -0
- package/dist/core/schema.d.ts +238 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/schema.js +168 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/core/tool-loader.d.ts +29 -0
- package/dist/core/tool-loader.d.ts.map +1 -0
- package/dist/core/tool-loader.js +98 -0
- package/dist/core/tool-loader.js.map +1 -0
- package/dist/core/tool-registry.d.ts +48 -0
- package/dist/core/tool-registry.d.ts.map +1 -0
- package/dist/core/tool-registry.js +89 -0
- package/dist/core/tool-registry.js.map +1 -0
- package/dist/core/types.d.ts +143 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/decorators/index.d.ts +2 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/dist/decorators/index.js +2 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/tool-decorator.d.ts +97 -0
- package/dist/decorators/tool-decorator.d.ts.map +1 -0
- package/dist/decorators/tool-decorator.js +154 -0
- package/dist/decorators/tool-decorator.js.map +1 -0
- package/dist/encodings/parameter-encoding.d.ts +51 -0
- package/dist/encodings/parameter-encoding.d.ts.map +1 -0
- package/dist/encodings/parameter-encoding.js +116 -0
- package/dist/encodings/parameter-encoding.js.map +1 -0
- package/dist/errors/matimo-error.d.ts +34 -0
- package/dist/errors/matimo-error.d.ts.map +1 -0
- package/dist/errors/matimo-error.js +49 -0
- package/dist/errors/matimo-error.js.map +1 -0
- package/dist/executors/command-executor.d.ts +19 -0
- package/dist/executors/command-executor.d.ts.map +1 -0
- package/dist/executors/command-executor.js +94 -0
- package/dist/executors/command-executor.js.map +1 -0
- package/dist/executors/http-executor.d.ts +26 -0
- package/dist/executors/http-executor.d.ts.map +1 -0
- package/dist/executors/http-executor.js +133 -0
- package/dist/executors/http-executor.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/matimo-instance.d.ts +98 -0
- package/dist/matimo-instance.d.ts.map +1 -0
- package/dist/matimo-instance.js +260 -0
- package/dist/matimo-instance.js.map +1 -0
- package/docs/Gemfile +5 -0
- package/docs/RELEASES.md +69 -0
- package/docs/ROADMAP.md +138 -0
- package/docs/_config.yml +27 -0
- package/docs/api-reference/ERRORS.md +445 -0
- package/docs/api-reference/SDK.md +582 -0
- package/docs/api-reference/TYPES.md +415 -0
- package/docs/architecture/OAUTH.md +1366 -0
- package/docs/architecture/OVERVIEW.md +564 -0
- package/docs/assets/logo.png +0 -0
- package/docs/community/COMMIT_GUIDELINES.md +552 -0
- package/docs/framework-integrations/LANGCHAIN.md +286 -0
- package/docs/getting-started/QUICK_START.md +211 -0
- package/docs/getting-started/YOUR_FIRST_TOOL.md +217 -0
- package/docs/getting-started/installation.md +124 -0
- package/docs/index.md +288 -0
- package/docs/tool-development/DECORATOR_GUIDE.md +633 -0
- package/docs/tool-development/OAUTH_LINK.md +5 -0
- package/docs/tool-development/PROVIDER_CONFIGURATION.md +458 -0
- package/docs/tool-development/TESTING.md +412 -0
- package/docs/tool-development/TOOL_SPECIFICATION.md +793 -0
- package/docs/tool-development/YAML_TOOLS.md +65 -0
- package/docs/troubleshooting/FAQ.md +391 -0
- package/docs/user-guide/AUTHENTICATION.md +255 -0
- package/docs/user-guide/DEVELOPMENT_STANDARDS.md +698 -0
- package/docs/user-guide/SDK_PATTERNS.md +316 -0
- package/docs/user-guide/TOOL_DISCOVERY.md +209 -0
- package/package.json +96 -0
|
@@ -0,0 +1,124 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,288 @@
|
|
|
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
|
+
import { MCPServer } from 'matimo/mcp';
|
|
210
|
+
|
|
211
|
+
const server = new MCPServer({ toolsPath: './tools', port: 3000 });
|
|
212
|
+
await server.start();
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
See [Quick Start](./getting-started/QUICK_START.md) for setup.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Standards & Practices
|
|
220
|
+
|
|
221
|
+
### Code Quality
|
|
222
|
+
- **TypeScript**: Strict mode enforced (no `any`)
|
|
223
|
+
- **Testing**: 80%+ coverage, TDD approach
|
|
224
|
+
- **Linting**: ESLint with automatic formatting
|
|
225
|
+
- **Documentation**: JSDoc comments for all public APIs
|
|
226
|
+
|
|
227
|
+
See [Development Standards](./DEVELOPMENT_STANDARDS.md).
|
|
228
|
+
|
|
229
|
+
### Commits
|
|
230
|
+
- **Format**: Conventional Commits (type(scope): subject)
|
|
231
|
+
- **Types**: feat, fix, docs, refactor, test, chore, perf, style, ci
|
|
232
|
+
- **Examples**: "feat(executor): add HTTP support", "fix(schema): validate enums"
|
|
233
|
+
|
|
234
|
+
See [Commit Guidelines](./community/COMMIT_GUIDELINES.md).
|
|
235
|
+
|
|
236
|
+
### Pull Requests
|
|
237
|
+
- Follow TDD approach (test first, implement after)
|
|
238
|
+
- Keep PRs focused (one feature/fix per PR)
|
|
239
|
+
- Ensure tests pass and coverage maintained (80%+)
|
|
240
|
+
- Follow code standards and get code review
|
|
241
|
+
|
|
242
|
+
See [Contributing Guidelines](../CONTRIBUTING.md).
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Common Tasks
|
|
247
|
+
|
|
248
|
+
### Write a YAML Tool
|
|
249
|
+
1. Create `tools/provider/tool-name.yaml`
|
|
250
|
+
2. Follow [Tool Specification](./tool-development/TOOL_SPECIFICATION.md) schema
|
|
251
|
+
3. Include parameters, execution, output_schema
|
|
252
|
+
4. Add authentication if needed
|
|
253
|
+
5. Test with `pnpm test`
|
|
254
|
+
|
|
255
|
+
### Write a Decorator Tool
|
|
256
|
+
1. Create `src/tools/tool-name.tool.ts`
|
|
257
|
+
2. Use @tool and @param decorators
|
|
258
|
+
3. Implement execute() or async execute()
|
|
259
|
+
4. Follow [Decorator Guide](./tool-development/DECORATOR_GUIDE.md) patterns
|
|
260
|
+
5. Add unit tests
|
|
261
|
+
|
|
262
|
+
### Integrate with LangChain
|
|
263
|
+
1. See [Framework Integrations](./framework-integrations/LANGCHAIN.md) for patterns
|
|
264
|
+
2. Check `examples/langchain/` for working examples
|
|
265
|
+
3. Follow [Architecture Overview](./architecture/OVERVIEW.md) for design decisions
|
|
266
|
+
|
|
267
|
+
### Contribute Code
|
|
268
|
+
1. Fork and clone repository
|
|
269
|
+
2. Create feature branch: `git checkout -b feat/description`
|
|
270
|
+
3. Write tests first (TDD)
|
|
271
|
+
4. Implement feature
|
|
272
|
+
5. Follow [Development Standards](./user-guide/DEVELOPMENT_STANDARDS.md)
|
|
273
|
+
6. Commit using [Commit Guidelines](./community/COMMIT_GUIDELINES.md)
|
|
274
|
+
7. Push and create PR
|
|
275
|
+
8. Follow [Contributing Guidelines](../CONTRIBUTING.md) checklist
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Need Help?
|
|
280
|
+
|
|
281
|
+
- **Questions?** Check relevant documentation or open a [GitHub Discussion](https://github.com/tallclub/matimo/discussions)
|
|
282
|
+
- **Found a bug?** [Open an issue](https://github.com/tallclub/matimo/issues)
|
|
283
|
+
- **Troubleshooting?** See [FAQ](./troubleshooting/FAQ.md)
|
|
284
|
+
- **Want to contribute?** See [Contributing Guidelines](../CONTRIBUTING.md)
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
Last updated: February 2026
|