ai-team 1.3.0 → 1.5.0

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 (32) hide show
  1. package/.agents/skills/cli-developer/SKILL.md +85 -0
  2. package/.agents/skills/cli-developer/references/design-patterns.md +221 -0
  3. package/.agents/skills/cli-developer/references/go-cli.md +540 -0
  4. package/.agents/skills/cli-developer/references/node-cli.md +383 -0
  5. package/.agents/skills/cli-developer/references/python-cli.md +422 -0
  6. package/.agents/skills/cli-developer/references/ux-patterns.md +448 -0
  7. package/.agents/teams/web-product/README.md +1 -14
  8. package/CHANGELOG.md +14 -0
  9. package/package.json +1 -1
  10. package/skills-lock.json +10 -0
  11. package/src/agents/definitions/agent-manager.yaml +2 -0
  12. package/src/agents/definitions/backend-dev.yaml +7 -4
  13. package/src/agents/definitions/cli-dev.yaml +2 -0
  14. package/src/agents/definitions/code-reviewer.yaml +5 -2
  15. package/src/agents/definitions/documentation-writer.yaml +2 -0
  16. package/src/agents/definitions/frontend-dev.yaml +7 -4
  17. package/src/agents/definitions/planning-agent.yaml +20 -8
  18. package/src/agents/definitions/product-team-orchestrator.yaml +22 -15
  19. package/src/agents/definitions/requirement-analyst.yaml +5 -3
  20. package/src/agents/definitions/tester.yaml +10 -7
  21. package/templates/bootstrap/base/.agents/teams/web-product/workflows/feature-lifecycle.md +26 -20
  22. package/.agents/manifest.json +0 -170
  23. package/.agents/skills/agent-manager/SKILL.md +0 -40
  24. package/.agents/skills/ai-integration/SKILL.md +0 -69
  25. package/.agents/skills/back-end-development/SKILL.md +0 -44
  26. package/.agents/skills/database-management/SKILL.md +0 -111
  27. package/.agents/skills/front-end-development/SKILL.md +0 -39
  28. package/.agents/skills/front-end-development/references/component-architecture.md +0 -213
  29. package/.agents/skills/front-end-development/references/data-fetching-pattern.md +0 -111
  30. package/.agents/skills/front-end-development/references/state-management.md +0 -223
  31. package/.agents/skills/front-end-development/references/styling.md +0 -226
  32. package/.agents/teams/web-product/workflows/feature-lifecycle.md +0 -101
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: cli-developer
3
+ description: Use when building CLI tools, implementing argument parsing, or adding interactive prompts. Invoke for CLI design, argument parsing, interactive prompts, progress indicators, shell completions.
4
+ license: MIT
5
+ metadata:
6
+ author: https://github.com/Jeffallan
7
+ version: "1.0.0"
8
+ domain: devops
9
+ triggers: CLI, command-line, terminal app, argument parsing, shell completion, interactive prompt, progress bar, commander, click, typer, cobra
10
+ role: specialist
11
+ scope: implementation
12
+ output-format: code
13
+ related-skills: devops-engineer
14
+ ---
15
+
16
+ # CLI Developer
17
+
18
+ Senior CLI developer with expertise in building intuitive, cross-platform command-line tools with excellent developer experience.
19
+
20
+ ## Role Definition
21
+
22
+ You are a senior CLI developer with 10+ years of experience building developer tools. You specialize in creating fast, intuitive command-line interfaces across Node.js, Python, and Go ecosystems. You build tools with <50ms startup time, comprehensive shell completions, and delightful UX.
23
+
24
+ ## When to Use This Skill
25
+
26
+ - Building CLI tools and terminal applications
27
+ - Implementing argument parsing and subcommands
28
+ - Creating interactive prompts and forms
29
+ - Adding progress bars and spinners
30
+ - Implementing shell completions (bash, zsh, fish)
31
+ - Optimizing CLI performance and startup time
32
+
33
+ ## Core Workflow
34
+
35
+ 1. **Analyze UX** - Identify user workflows, command hierarchy, common tasks
36
+ 2. **Design commands** - Plan subcommands, flags, arguments, configuration
37
+ 3. **Implement** - Build with appropriate CLI framework for the language
38
+ 4. **Polish** - Add completions, help text, error messages, progress indicators
39
+ 5. **Test** - Cross-platform testing, performance benchmarks
40
+
41
+ ## Reference Guide
42
+
43
+ Load detailed guidance based on context:
44
+
45
+ | Topic | Reference | Load When |
46
+ |-------|-----------|-----------|
47
+ | Design Patterns | `references/design-patterns.md` | Subcommands, flags, config, architecture |
48
+ | Node.js CLIs | `references/node-cli.md` | commander, yargs, inquirer, chalk |
49
+ | Python CLIs | `references/python-cli.md` | click, typer, argparse, rich |
50
+ | Go CLIs | `references/go-cli.md` | cobra, viper, bubbletea |
51
+ | UX Patterns | `references/ux-patterns.md` | Progress bars, colors, help text |
52
+
53
+ ## Constraints
54
+
55
+ ### MUST DO
56
+ - Keep startup time under 50ms
57
+ - Provide clear, actionable error messages
58
+ - Support --help and --version flags
59
+ - Use consistent flag naming conventions
60
+ - Handle SIGINT (Ctrl+C) gracefully
61
+ - Validate user input early
62
+ - Support both interactive and non-interactive modes
63
+ - Test on Windows, macOS, and Linux
64
+
65
+ ### MUST NOT DO
66
+ - Block on synchronous I/O unnecessarily
67
+ - Print to stdout if output will be piped
68
+ - Use colors when output is not a TTY
69
+ - Break existing command signatures (breaking changes)
70
+ - Require interactive input in CI/CD environments
71
+ - Hardcode paths or platform-specific logic
72
+ - Ship without shell completions
73
+
74
+ ## Output Templates
75
+
76
+ When implementing CLI features, provide:
77
+ 1. Command structure (main entry point, subcommands)
78
+ 2. Configuration handling (files, env vars, flags)
79
+ 3. Core implementation with error handling
80
+ 4. Shell completion scripts if applicable
81
+ 5. Brief explanation of UX decisions
82
+
83
+ ## Knowledge Reference
84
+
85
+ CLI frameworks (commander, yargs, oclif, click, typer, argparse, cobra, viper), terminal UI (chalk, inquirer, rich, bubbletea), testing (snapshot testing, E2E), distribution (npm, pip, homebrew, releases), performance optimization
@@ -0,0 +1,221 @@
1
+ # CLI Design Patterns
2
+
3
+ ## Command Hierarchy
4
+
5
+ ```
6
+ mycli # Root command
7
+ ├── init [options] # Simple command
8
+ ├── config
9
+ │ ├── get <key> # Nested subcommand
10
+ │ ├── set <key> <value>
11
+ │ └── list
12
+ ├── deploy [environment] # Command with args
13
+ │ ├── --dry-run # Flag
14
+ │ ├── --force
15
+ │ └── --config <file> # Option with value
16
+ └── plugins
17
+ ├── install <name>
18
+ ├── list
19
+ └── remove <name>
20
+ ```
21
+
22
+ ## Flag Conventions
23
+
24
+ ```bash
25
+ # Boolean flags (presence = true)
26
+ mycli deploy --force --dry-run
27
+
28
+ # Short + long forms
29
+ mycli -v --verbose
30
+ mycli -c config.yml --config config.yml
31
+
32
+ # Required vs optional
33
+ mycli deploy <env> # Positional (required)
34
+ mycli deploy --env production # Flag (optional)
35
+
36
+ # Multiple values
37
+ mycli install pkg1 pkg2 pkg3 # Variadic args
38
+ mycli --exclude node_modules --exclude .git
39
+ ```
40
+
41
+ ## Configuration Layers
42
+
43
+ Priority order (highest to lowest):
44
+
45
+ 1. **Command-line flags** - Explicit user intent
46
+ 2. **Environment variables** - Runtime context
47
+ 3. **Config files (project)** - `.myclirc`, `mycli.config.js`
48
+ 4. **Config files (user)** - `~/.myclirc`, `~/.config/mycli/config.yml`
49
+ 5. **Config files (system)** - `/etc/mycli/config.yml`
50
+ 6. **Defaults** - Hard-coded sensible defaults
51
+
52
+ ```javascript
53
+ // Example config resolution
54
+ const config = {
55
+ ...systemDefaults,
56
+ ...loadSystemConfig(),
57
+ ...loadUserConfig(),
58
+ ...loadProjectConfig(),
59
+ ...loadEnvVars(),
60
+ ...parseCliFlags(),
61
+ };
62
+ ```
63
+
64
+ ## Exit Codes
65
+
66
+ Standard POSIX exit codes:
67
+
68
+ ```javascript
69
+ const EXIT_CODES = {
70
+ SUCCESS: 0,
71
+ GENERAL_ERROR: 1,
72
+ MISUSE: 2, // Invalid arguments
73
+ PERMISSION_DENIED: 77,
74
+ NOT_FOUND: 127,
75
+ SIGINT: 130, // Ctrl+C
76
+ };
77
+ ```
78
+
79
+ ## Plugin Architecture
80
+
81
+ ```
82
+ mycli/
83
+ ├── core/ # Core functionality
84
+ ├── plugins/
85
+ │ ├── aws/ # Plugin: AWS integration
86
+ │ │ ├── package.json
87
+ │ │ └── index.js
88
+ │ └── github/ # Plugin: GitHub integration
89
+ │ ├── package.json
90
+ │ └── index.js
91
+ └── plugin-loader.js # Discovery & loading
92
+ ```
93
+
94
+ Plugin discovery:
95
+ 1. Check `~/.mycli/plugins/`
96
+ 2. Check `node_modules/mycli-plugin-*`
97
+ 3. Check `MYCLI_PLUGIN_PATH` env var
98
+
99
+ ## Error Handling Patterns
100
+
101
+ ```javascript
102
+ // Good: Actionable error messages
103
+ Error: Config file not found at /path/to/config.yml
104
+
105
+ Tried locations:
106
+ • ./mycli.config.yml
107
+ • ~/.myclirc
108
+ • /etc/mycli/config.yml
109
+
110
+ Run 'mycli init' to create a config file, or use --config to specify location.
111
+
112
+ // Bad: Unhelpful errors
113
+ Error: ENOENT
114
+ ```
115
+
116
+ ## Interactive vs Non-Interactive
117
+
118
+ ```javascript
119
+ // Detect if running in CI/CD
120
+ const isCI = process.env.CI === 'true' || !process.stdout.isTTY;
121
+
122
+ if (isCI) {
123
+ // Non-interactive: fail fast with clear errors
124
+ if (!options.environment) {
125
+ throw new Error('--environment required in non-interactive mode');
126
+ }
127
+ } else {
128
+ // Interactive: prompt user
129
+ const environment = await prompt({
130
+ type: 'select',
131
+ message: 'Select environment:',
132
+ choices: ['development', 'staging', 'production'],
133
+ });
134
+ }
135
+ ```
136
+
137
+ ## State Management
138
+
139
+ ```
140
+ ~/.mycli/
141
+ ├── config.yml # User configuration
142
+ ├── cache/ # Cached data
143
+ │ ├── plugins.json
144
+ │ └── api-responses/
145
+ ├── credentials.json # Sensitive data (600 perms)
146
+ └── state.json # Session state
147
+ ```
148
+
149
+ ## Performance Patterns
150
+
151
+ ```javascript
152
+ // Lazy loading: Don't load unused dependencies
153
+ if (command === 'deploy') {
154
+ const deploy = require('./commands/deploy'); // Load on demand
155
+ await deploy.run();
156
+ }
157
+
158
+ // Caching: Avoid repeated API calls
159
+ const cache = new Cache('~/.mycli/cache', { ttl: 3600 });
160
+ let plugins = await cache.get('plugins');
161
+ if (!plugins) {
162
+ plugins = await fetchPlugins();
163
+ await cache.set('plugins', plugins);
164
+ }
165
+
166
+ // Async operations: Don't block unnecessarily
167
+ await Promise.all([
168
+ validateConfig(),
169
+ checkForUpdates(),
170
+ loadPlugins(),
171
+ ]);
172
+ ```
173
+
174
+ ## Versioning & Updates
175
+
176
+ ```javascript
177
+ // Check for updates (non-blocking)
178
+ checkForUpdates().then(update => {
179
+ if (update.available) {
180
+ console.log(`Update available: ${update.version}`);
181
+ console.log(`Run: npm install -g mycli@latest`);
182
+ }
183
+ }).catch(() => {
184
+ // Silently fail - don't interrupt user workflow
185
+ });
186
+
187
+ // Version compatibility
188
+ const MIN_NODE_VERSION = '18.0.0';
189
+ if (!semver.satisfies(process.version, `>=${MIN_NODE_VERSION}`)) {
190
+ console.error(`mycli requires Node.js ${MIN_NODE_VERSION} or higher`);
191
+ process.exit(1);
192
+ }
193
+ ```
194
+
195
+ ## Help Text Design
196
+
197
+ ```
198
+ USAGE
199
+ mycli deploy [environment] [options]
200
+
201
+ ARGUMENTS
202
+ environment Target environment (development|staging|production)
203
+
204
+ OPTIONS
205
+ -c, --config <file> Path to config file
206
+ -f, --force Skip confirmation prompts
207
+ -d, --dry-run Preview changes without executing
208
+ -v, --verbose Show detailed output
209
+
210
+ EXAMPLES
211
+ # Deploy to production
212
+ mycli deploy production
213
+
214
+ # Preview staging deployment
215
+ mycli deploy staging --dry-run
216
+
217
+ # Use custom config
218
+ mycli deploy --config ./custom.yml
219
+
220
+ Learn more: https://docs.mycli.dev/deploy
221
+ ```