@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.
Files changed (77) hide show
  1. package/CHANGELOG.md +2877 -0
  2. package/CONTRIBUTING.md +357 -0
  3. package/FAQ.md +604 -0
  4. package/FIXES.md +277 -0
  5. package/LICENSE +190 -0
  6. package/README.md +603 -0
  7. package/REVIEW-REPORT.md +278 -0
  8. package/TROUBLESHOOTING.md +612 -0
  9. package/automatosx.config.json +219 -0
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.js +11806 -0
  12. package/dist/index.js.map +1 -0
  13. package/docs/README.md +227 -0
  14. package/docs/guide/core-concepts.md +568 -0
  15. package/docs/guide/installation.md +406 -0
  16. package/docs/guide/introduction.md +199 -0
  17. package/docs/guide/quick-start.md +387 -0
  18. package/docs/index.md +132 -0
  19. package/docs/reference/cli-commands.md +894 -0
  20. package/docs/tutorials/first-agent.md +691 -0
  21. package/docs/tutorials/memory-management.md +785 -0
  22. package/examples/AGENTS_INFO.md +293 -0
  23. package/examples/README.md +434 -0
  24. package/examples/abilities/best-practices.md +102 -0
  25. package/examples/abilities/code-generation.md +1035 -0
  26. package/examples/abilities/code-review.md +42 -0
  27. package/examples/abilities/content-creation.md +97 -0
  28. package/examples/abilities/debugging.md +43 -0
  29. package/examples/abilities/documentation.md +54 -0
  30. package/examples/abilities/error-analysis.md +107 -0
  31. package/examples/abilities/general-assistance.md +26 -0
  32. package/examples/abilities/our-architecture-decisions.md +242 -0
  33. package/examples/abilities/our-code-review-checklist.md +217 -0
  34. package/examples/abilities/our-coding-standards.md +389 -0
  35. package/examples/abilities/our-project-structure.md +502 -0
  36. package/examples/abilities/performance-analysis.md +56 -0
  37. package/examples/abilities/problem-solving.md +50 -0
  38. package/examples/abilities/refactoring.md +49 -0
  39. package/examples/abilities/security-audit.md +65 -0
  40. package/examples/abilities/task-planning.md +65 -0
  41. package/examples/abilities/technical-writing.md +77 -0
  42. package/examples/abilities/testing.md +47 -0
  43. package/examples/abilities/troubleshooting.md +80 -0
  44. package/examples/agents/assistant.yaml +45 -0
  45. package/examples/agents/backend.yaml +60 -0
  46. package/examples/agents/ceo.yaml +47 -0
  47. package/examples/agents/coder.yaml +388 -0
  48. package/examples/agents/cto.yaml +47 -0
  49. package/examples/agents/data.yaml +47 -0
  50. package/examples/agents/debugger.yaml +59 -0
  51. package/examples/agents/design.yaml +46 -0
  52. package/examples/agents/devops.yaml +47 -0
  53. package/examples/agents/frontend.yaml +61 -0
  54. package/examples/agents/product.yaml +47 -0
  55. package/examples/agents/quality.yaml +47 -0
  56. package/examples/agents/reviewer.yaml +49 -0
  57. package/examples/agents/security.yaml +47 -0
  58. package/examples/agents/writer.yaml +66 -0
  59. package/examples/claude/commands/ax:agent.md +37 -0
  60. package/examples/claude/commands/ax:clear.md +22 -0
  61. package/examples/claude/commands/ax:init.md +25 -0
  62. package/examples/claude/commands/ax:list.md +19 -0
  63. package/examples/claude/commands/ax:memory.md +25 -0
  64. package/examples/claude/commands/ax:status.md +24 -0
  65. package/examples/claude/commands/ax:update.md +28 -0
  66. package/examples/claude/mcp/automatosx.json +74 -0
  67. package/examples/templates/analyst.yaml +60 -0
  68. package/examples/templates/basic-agent.yaml +28 -0
  69. package/examples/templates/designer.yaml +69 -0
  70. package/examples/templates/developer.yaml +60 -0
  71. package/examples/templates/qa-specialist.yaml +71 -0
  72. package/examples/use-cases/01-web-app-development.md +374 -0
  73. package/package.json +86 -0
  74. package/scripts/check-release.js +128 -0
  75. package/scripts/real-provider-test.sh +357 -0
  76. package/scripts/smoke-test.sh +286 -0
  77. package/tsup.config.ts +16 -0
@@ -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! 🚀