@defai.digital/automatosx 5.0.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/CHANGELOG.md +2877 -0
- package/CONTRIBUTING.md +357 -0
- package/FAQ.md +604 -0
- package/FIXES.md +277 -0
- package/LICENSE +190 -0
- package/README.md +603 -0
- package/REVIEW-REPORT.md +278 -0
- package/TROUBLESHOOTING.md +612 -0
- package/automatosx.config.json +219 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +11806 -0
- package/dist/index.js.map +1 -0
- package/docs/README.md +227 -0
- package/docs/guide/core-concepts.md +568 -0
- package/docs/guide/installation.md +406 -0
- package/docs/guide/introduction.md +199 -0
- package/docs/guide/quick-start.md +387 -0
- package/docs/index.md +132 -0
- package/docs/reference/cli-commands.md +894 -0
- package/docs/tutorials/first-agent.md +691 -0
- package/docs/tutorials/memory-management.md +785 -0
- package/examples/AGENTS_INFO.md +293 -0
- package/examples/README.md +434 -0
- package/examples/abilities/best-practices.md +102 -0
- package/examples/abilities/code-generation.md +1035 -0
- package/examples/abilities/code-review.md +42 -0
- package/examples/abilities/content-creation.md +97 -0
- package/examples/abilities/debugging.md +43 -0
- package/examples/abilities/documentation.md +54 -0
- package/examples/abilities/error-analysis.md +107 -0
- package/examples/abilities/general-assistance.md +26 -0
- package/examples/abilities/our-architecture-decisions.md +242 -0
- package/examples/abilities/our-code-review-checklist.md +217 -0
- package/examples/abilities/our-coding-standards.md +389 -0
- package/examples/abilities/our-project-structure.md +502 -0
- package/examples/abilities/performance-analysis.md +56 -0
- package/examples/abilities/problem-solving.md +50 -0
- package/examples/abilities/refactoring.md +49 -0
- package/examples/abilities/security-audit.md +65 -0
- package/examples/abilities/task-planning.md +65 -0
- package/examples/abilities/technical-writing.md +77 -0
- package/examples/abilities/testing.md +47 -0
- package/examples/abilities/troubleshooting.md +80 -0
- package/examples/agents/assistant.yaml +45 -0
- package/examples/agents/backend.yaml +60 -0
- package/examples/agents/ceo.yaml +47 -0
- package/examples/agents/coder.yaml +388 -0
- package/examples/agents/cto.yaml +47 -0
- package/examples/agents/data.yaml +47 -0
- package/examples/agents/debugger.yaml +59 -0
- package/examples/agents/design.yaml +46 -0
- package/examples/agents/devops.yaml +47 -0
- package/examples/agents/frontend.yaml +61 -0
- package/examples/agents/product.yaml +47 -0
- package/examples/agents/quality.yaml +47 -0
- package/examples/agents/reviewer.yaml +49 -0
- package/examples/agents/security.yaml +47 -0
- package/examples/agents/writer.yaml +66 -0
- package/examples/claude/commands/ax:agent.md +37 -0
- package/examples/claude/commands/ax:clear.md +22 -0
- package/examples/claude/commands/ax:init.md +25 -0
- package/examples/claude/commands/ax:list.md +19 -0
- package/examples/claude/commands/ax:memory.md +25 -0
- package/examples/claude/commands/ax:status.md +24 -0
- package/examples/claude/commands/ax:update.md +28 -0
- package/examples/claude/mcp/automatosx.json +74 -0
- package/examples/templates/analyst.yaml +60 -0
- package/examples/templates/basic-agent.yaml +28 -0
- package/examples/templates/designer.yaml +69 -0
- package/examples/templates/developer.yaml +60 -0
- package/examples/templates/qa-specialist.yaml +71 -0
- package/examples/use-cases/01-web-app-development.md +374 -0
- package/package.json +86 -0
- package/scripts/check-release.js +128 -0
- package/scripts/real-provider-test.sh +357 -0
- package/scripts/smoke-test.sh +286 -0
- package/tsup.config.ts +16 -0
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
# Contributing to AutomatosX
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to AutomatosX! This document provides guidelines for contributing to the project.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Code of Conduct](#code-of-conduct)
|
|
8
|
+
- [Getting Started](#getting-started)
|
|
9
|
+
- [Development Setup](#development-setup)
|
|
10
|
+
- [Making Changes](#making-changes)
|
|
11
|
+
- [Testing](#testing)
|
|
12
|
+
- [Submitting Changes](#submitting-changes)
|
|
13
|
+
- [Coding Standards](#coding-standards)
|
|
14
|
+
|
|
15
|
+
## Code of Conduct
|
|
16
|
+
|
|
17
|
+
This project follows a Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
|
|
18
|
+
|
|
19
|
+
## Getting Started
|
|
20
|
+
|
|
21
|
+
1. Fork the repository
|
|
22
|
+
2. Clone your fork: `git clone https://github.com/yourusername/automatosx.git`
|
|
23
|
+
3. Add upstream remote: `git remote add upstream https://github.com/automatosx/automatosx.git`
|
|
24
|
+
|
|
25
|
+
## Development Setup
|
|
26
|
+
|
|
27
|
+
### Prerequisites
|
|
28
|
+
|
|
29
|
+
- Node.js 20.0.0 or later
|
|
30
|
+
- npm, pnpm, or yarn
|
|
31
|
+
|
|
32
|
+
### Installation
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Install dependencies
|
|
36
|
+
npm install
|
|
37
|
+
|
|
38
|
+
# Run tests
|
|
39
|
+
npm test
|
|
40
|
+
|
|
41
|
+
# Build the project
|
|
42
|
+
npm run build
|
|
43
|
+
|
|
44
|
+
# Run in development mode
|
|
45
|
+
npm run dev -- <command>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Making Changes
|
|
49
|
+
|
|
50
|
+
### Creating a Branch
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Update your main branch
|
|
54
|
+
git checkout main
|
|
55
|
+
git pull upstream main
|
|
56
|
+
|
|
57
|
+
# Create a feature branch
|
|
58
|
+
git checkout -b feature/your-feature-name
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Branch Naming Convention
|
|
62
|
+
|
|
63
|
+
- `feature/` - New features
|
|
64
|
+
- `fix/` - Bug fixes
|
|
65
|
+
- `docs/` - Documentation changes
|
|
66
|
+
- `test/` - Test improvements
|
|
67
|
+
- `refactor/` - Code refactoring
|
|
68
|
+
- `perf/` - Performance improvements
|
|
69
|
+
|
|
70
|
+
## Testing
|
|
71
|
+
|
|
72
|
+
### Running Tests
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Run all tests
|
|
76
|
+
npm test
|
|
77
|
+
|
|
78
|
+
# Run unit tests only
|
|
79
|
+
npm run test:unit
|
|
80
|
+
|
|
81
|
+
# Run integration tests only
|
|
82
|
+
npm run test:integration
|
|
83
|
+
|
|
84
|
+
# Run tests in watch mode
|
|
85
|
+
npm run test:watch
|
|
86
|
+
|
|
87
|
+
# Run tests with coverage
|
|
88
|
+
npm run test:coverage
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Writing Tests
|
|
92
|
+
|
|
93
|
+
- Write tests for all new features
|
|
94
|
+
- Maintain or improve test coverage (current: 67%)
|
|
95
|
+
- Place unit tests in `tests/unit/`
|
|
96
|
+
- Place integration tests in `tests/integration/`
|
|
97
|
+
- Use descriptive test names
|
|
98
|
+
- Follow existing test patterns
|
|
99
|
+
|
|
100
|
+
### Test Requirements
|
|
101
|
+
|
|
102
|
+
- All tests must pass before submitting PR
|
|
103
|
+
- Coverage should not decrease
|
|
104
|
+
- Add tests for bug fixes to prevent regression
|
|
105
|
+
|
|
106
|
+
## Submitting Changes
|
|
107
|
+
|
|
108
|
+
### Before Submitting
|
|
109
|
+
|
|
110
|
+
1. **Run tests**: `npm test`
|
|
111
|
+
2. **Type check**: `npm run typecheck`
|
|
112
|
+
3. **Build**: `npm run build`
|
|
113
|
+
4. **Update documentation** if needed
|
|
114
|
+
5. **Update CHANGELOG.md** with your changes
|
|
115
|
+
|
|
116
|
+
### Commit Messages
|
|
117
|
+
|
|
118
|
+
Follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
<type>(<scope>): <subject>
|
|
122
|
+
|
|
123
|
+
<body>
|
|
124
|
+
|
|
125
|
+
<footer>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Types**:
|
|
129
|
+
|
|
130
|
+
- `feat` - New feature
|
|
131
|
+
- `fix` - Bug fix
|
|
132
|
+
- `docs` - Documentation changes
|
|
133
|
+
- `test` - Test changes
|
|
134
|
+
- `refactor` - Code refactoring
|
|
135
|
+
- `perf` - Performance improvements
|
|
136
|
+
- `chore` - Build/tooling changes
|
|
137
|
+
|
|
138
|
+
**Examples**:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
feat(memory): add vector search optimization
|
|
142
|
+
|
|
143
|
+
Implement caching layer for frequently accessed vectors
|
|
144
|
+
to reduce query latency by 40%.
|
|
145
|
+
|
|
146
|
+
Closes #123
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
fix(cli): resolve path resolution bug in Windows
|
|
151
|
+
|
|
152
|
+
Fix path separator issues when running on Windows.
|
|
153
|
+
Add cross-platform path normalization.
|
|
154
|
+
|
|
155
|
+
Fixes #456
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Pull Request Process
|
|
159
|
+
|
|
160
|
+
1. **Update your branch**:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
git checkout main
|
|
164
|
+
git pull upstream main
|
|
165
|
+
git checkout your-branch
|
|
166
|
+
git rebase main
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
2. **Push to your fork**:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
git push origin your-branch
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
3. **Create Pull Request**:
|
|
176
|
+
- Use a clear, descriptive title
|
|
177
|
+
- Reference related issues
|
|
178
|
+
- Describe what changed and why
|
|
179
|
+
- Include screenshots for UI changes
|
|
180
|
+
- List breaking changes if any
|
|
181
|
+
|
|
182
|
+
4. **PR Template**:
|
|
183
|
+
|
|
184
|
+
```markdown
|
|
185
|
+
## Description
|
|
186
|
+
Brief description of changes
|
|
187
|
+
|
|
188
|
+
## Type of Change
|
|
189
|
+
- [ ] Bug fix
|
|
190
|
+
- [ ] New feature
|
|
191
|
+
- [ ] Breaking change
|
|
192
|
+
- [ ] Documentation update
|
|
193
|
+
|
|
194
|
+
## Testing
|
|
195
|
+
- [ ] Tests pass locally
|
|
196
|
+
- [ ] Added/updated tests
|
|
197
|
+
- [ ] Manual testing completed
|
|
198
|
+
|
|
199
|
+
## Checklist
|
|
200
|
+
- [ ] Code follows project style
|
|
201
|
+
- [ ] Documentation updated
|
|
202
|
+
- [ ] CHANGELOG.md updated
|
|
203
|
+
- [ ] No breaking changes (or documented)
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
5. **Review Process**:
|
|
207
|
+
- Address reviewer feedback
|
|
208
|
+
- Make requested changes
|
|
209
|
+
- Push updates to your branch
|
|
210
|
+
- Re-request review when ready
|
|
211
|
+
|
|
212
|
+
## Coding Standards
|
|
213
|
+
|
|
214
|
+
### TypeScript
|
|
215
|
+
|
|
216
|
+
- Use TypeScript strict mode
|
|
217
|
+
- Provide type annotations for all public APIs
|
|
218
|
+
- Avoid `any` type unless absolutely necessary
|
|
219
|
+
- Use meaningful variable and function names
|
|
220
|
+
- Keep functions small and focused
|
|
221
|
+
|
|
222
|
+
### Code Style
|
|
223
|
+
|
|
224
|
+
```typescript
|
|
225
|
+
// Good
|
|
226
|
+
export async function loadProfile(
|
|
227
|
+
profilePath: string,
|
|
228
|
+
options: LoadOptions = {}
|
|
229
|
+
): Promise<AgentProfile> {
|
|
230
|
+
// Implementation
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// Bad
|
|
234
|
+
export async function load(p: string, o: any) {
|
|
235
|
+
// Implementation
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Documentation
|
|
240
|
+
|
|
241
|
+
- Add JSDoc comments for all public APIs
|
|
242
|
+
- Include parameter descriptions
|
|
243
|
+
- Document return types
|
|
244
|
+
- Provide usage examples
|
|
245
|
+
|
|
246
|
+
```typescript
|
|
247
|
+
/**
|
|
248
|
+
* Load an agent profile from a YAML file.
|
|
249
|
+
*
|
|
250
|
+
* @param profilePath - Absolute path to the profile file
|
|
251
|
+
* @param options - Optional loading configuration
|
|
252
|
+
* @returns Parsed agent profile
|
|
253
|
+
* @throws {PathTraversalError} If path is outside allowed directory
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* ```typescript
|
|
257
|
+
* const profile = await loadProfile('/path/to/agent.yaml');
|
|
258
|
+
* console.log(profile.name); // 'my-agent'
|
|
259
|
+
* ```
|
|
260
|
+
*/
|
|
261
|
+
export async function loadProfile(
|
|
262
|
+
profilePath: string,
|
|
263
|
+
options: LoadOptions = {}
|
|
264
|
+
): Promise<AgentProfile> {
|
|
265
|
+
// Implementation
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### File Organization
|
|
270
|
+
|
|
271
|
+
```
|
|
272
|
+
src/
|
|
273
|
+
├── core/ # Core modules
|
|
274
|
+
├── agents/ # Agent system
|
|
275
|
+
├── providers/ # AI provider integrations
|
|
276
|
+
├── cli/ # CLI commands
|
|
277
|
+
├── types/ # TypeScript types
|
|
278
|
+
└── utils/ # Utility functions
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Error Handling
|
|
282
|
+
|
|
283
|
+
- Use custom error classes
|
|
284
|
+
- Provide meaningful error messages
|
|
285
|
+
- Include error context
|
|
286
|
+
- Handle errors gracefully
|
|
287
|
+
|
|
288
|
+
```typescript
|
|
289
|
+
// Good
|
|
290
|
+
if (!isValidPath(path)) {
|
|
291
|
+
throw new PathTraversalError(
|
|
292
|
+
`Invalid path: ${path}`,
|
|
293
|
+
{ path, allowedDir }
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// Bad
|
|
298
|
+
if (!isValidPath(path)) {
|
|
299
|
+
throw new Error('bad path');
|
|
300
|
+
}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Performance
|
|
304
|
+
|
|
305
|
+
- Avoid unnecessary computations
|
|
306
|
+
- Use caching where appropriate
|
|
307
|
+
- Lazy load when possible
|
|
308
|
+
- Profile performance-critical code
|
|
309
|
+
|
|
310
|
+
## Project Structure
|
|
311
|
+
|
|
312
|
+
### Important Files
|
|
313
|
+
|
|
314
|
+
- `src/` - Source code
|
|
315
|
+
- `tests/` - Test suites
|
|
316
|
+
- `docs/` - Documentation
|
|
317
|
+
- `PRD/` - Product requirements
|
|
318
|
+
- `examples/` - Example configurations
|
|
319
|
+
|
|
320
|
+
### Key Modules
|
|
321
|
+
|
|
322
|
+
1. **Core** (`src/core/`)
|
|
323
|
+
- `config.ts` - Configuration management
|
|
324
|
+
- `logger.ts` - Logging system
|
|
325
|
+
- `path-resolver.ts` - Path resolution
|
|
326
|
+
- `memory-manager.ts` - Memory persistence
|
|
327
|
+
- `router.ts` - Provider routing
|
|
328
|
+
|
|
329
|
+
2. **Agents** (`src/agents/`)
|
|
330
|
+
- `profile-loader.ts` - Profile loading
|
|
331
|
+
- `abilities-manager.ts` - Abilities management
|
|
332
|
+
- `context-manager.ts` - Execution context
|
|
333
|
+
|
|
334
|
+
3. **CLI** (`src/cli/`)
|
|
335
|
+
- Command implementations
|
|
336
|
+
- User interface
|
|
337
|
+
|
|
338
|
+
## Getting Help
|
|
339
|
+
|
|
340
|
+
- Check existing [documentation](docs/)
|
|
341
|
+
- Search [existing issues](https://github.com/automatosx/automatosx/issues)
|
|
342
|
+
- Ask in [discussions](https://github.com/automatosx/automatosx/discussions)
|
|
343
|
+
- Join our [Discord](https://discord.gg/automatosx) (coming soon)
|
|
344
|
+
|
|
345
|
+
## License
|
|
346
|
+
|
|
347
|
+
By contributing, you agree that your contributions will be licensed under the MIT License.
|
|
348
|
+
|
|
349
|
+
## Recognition
|
|
350
|
+
|
|
351
|
+
Contributors will be recognized in:
|
|
352
|
+
|
|
353
|
+
- CHANGELOG.md
|
|
354
|
+
- GitHub contributors page
|
|
355
|
+
- Release notes (for significant contributions)
|
|
356
|
+
|
|
357
|
+
Thank you for contributing to AutomatosX! 🚀
|