myaidev-method 0.2.23 → 0.2.24-2
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/.claude-plugin/plugin.json +251 -0
- package/PLUGIN_ARCHITECTURE.md +276 -0
- package/README.md +204 -0
- package/USER_GUIDE.md +436 -9
- package/bin/cli.js +370 -38
- package/dist/server/.tsbuildinfo +1 -1
- package/extension.json +174 -0
- package/hooks/hooks.json +221 -0
- package/marketplace.json +179 -0
- package/package.json +24 -7
- package/skills/content-verifier/SKILL.md +178 -0
- package/skills/content-writer/SKILL.md +151 -0
- package/skills/coolify-deployer/SKILL.md +207 -0
- package/skills/openstack-manager/SKILL.md +213 -0
- package/skills/security-auditor/SKILL.md +180 -0
- package/skills/security-tester/SKILL.md +171 -0
- package/skills/sparc-architect/SKILL.md +146 -0
- package/skills/sparc-coder/SKILL.md +136 -0
- package/skills/sparc-documenter/SKILL.md +195 -0
- package/skills/sparc-reviewer/SKILL.md +179 -0
- package/skills/sparc-tester/SKILL.md +156 -0
- package/skills/visual-generator/SKILL.md +147 -0
- package/skills/wordpress-publisher/SKILL.md +150 -0
- package/src/config/workflows.js +28 -44
- package/src/lib/ascii-banner.js +214 -0
- package/src/lib/config-manager.js +470 -0
- package/src/lib/content-coordinator.js +2562 -0
- package/src/lib/content-generator.js +427 -0
- package/src/lib/html-conversion-utils.js +843 -0
- package/src/lib/installation-detector.js +266 -0
- package/src/lib/seo-optimizer.js +515 -0
- package/src/lib/visual-config-utils.js +1 -1
- package/src/lib/visual-generation-utils.js +34 -14
- package/src/lib/wordpress-client.js +633 -0
- package/src/lib/workflow-installer.js +3 -3
- package/src/scripts/generate-visual-cli.js +39 -10
- package/src/scripts/html-conversion-cli.js +526 -0
- package/src/scripts/init/configure.js +436 -0
- package/src/scripts/init/install.js +460 -0
- package/src/scripts/ping.js +0 -1
- package/src/scripts/utils/file-utils.js +404 -0
- package/src/scripts/utils/logger.js +300 -0
- package/src/scripts/utils/write-content.js +293 -0
- package/src/templates/claude/agents/content-production-coordinator.md +689 -15
- package/src/templates/claude/agents/visual-content-generator.md +129 -4
- package/src/templates/claude/commands/myai-content-enrichment.md +227 -0
- package/src/templates/claude/commands/myai-content-writer.md +48 -37
- package/src/templates/claude/commands/myai-convert-html.md +186 -0
- package/src/templates/claude/commands/myai-coordinate-content.md +347 -11
- package/src/templates/diagrams/architecture.d2 +52 -0
- package/src/templates/diagrams/flowchart.d2 +42 -0
- package/src/templates/diagrams/sequence.d2 +47 -0
- package/src/templates/docs/content-creation-guide.md +164 -0
- package/src/templates/docs/deployment-guide.md +336 -0
- package/src/templates/docs/visual-generation-guide.md +248 -0
- package/src/templates/docs/wordpress-publishing-guide.md +208 -0
- package/src/templates/infographics/comparison-table.html +347 -0
- package/src/templates/infographics/data-chart.html +268 -0
- package/src/templates/infographics/process-flow.html +365 -0
- /package/src/scripts/{wordpress-health-check.js → wordpress/wordpress-health-check.js} +0 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: visual-generator
|
|
3
|
+
description: Generate high-quality images and videos using AI APIs (Gemini, Imagen, DALL-E, FLUX, Veo)
|
|
4
|
+
argument-hint: [prompt] [--type=hero] [--service=gemini]
|
|
5
|
+
allowed-tools: [Read, Write, Bash, Task]
|
|
6
|
+
user-invocable: true
|
|
7
|
+
category: visual
|
|
8
|
+
version: 1.0.0
|
|
9
|
+
platforms: [claude-code, gemini-cli, codex-cli]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Visual Generator Skill
|
|
13
|
+
|
|
14
|
+
Generate high-quality images and videos for content creation using AI generation APIs (Google Gemini Flash, Imagen 3, DALL-E 3, FLUX 2 Pro, Veo 3).
|
|
15
|
+
|
|
16
|
+
## Capabilities
|
|
17
|
+
|
|
18
|
+
- Hero images for articles and landing pages
|
|
19
|
+
- Technical diagrams and architecture illustrations
|
|
20
|
+
- Infographics (data, process, comparison, timeline)
|
|
21
|
+
- Screenshots and UI mockups
|
|
22
|
+
- Video content for demos and tutorials
|
|
23
|
+
|
|
24
|
+
## Supported Services
|
|
25
|
+
|
|
26
|
+
| Service | Type | Cost | Best For |
|
|
27
|
+
|---------|------|------|----------|
|
|
28
|
+
| Gemini 2.5 Flash | Image | $0.02 | Fast, diagrams, general use |
|
|
29
|
+
| Imagen 3 | Image | $0.03 | Premium quality heroes |
|
|
30
|
+
| DALL-E 3 | Image | $0.04-0.12 | Creative, artistic |
|
|
31
|
+
| GPT Image 1.5 | Image | $0.02 | Text-heavy visuals |
|
|
32
|
+
| FLUX 2 Pro | Image | $0.03 | Detailed illustrations |
|
|
33
|
+
| Veo 3 | Video | $0.10 | Product demos, tutorials |
|
|
34
|
+
|
|
35
|
+
## Image Types
|
|
36
|
+
|
|
37
|
+
| Type | Description | Recommended Service |
|
|
38
|
+
|------|-------------|---------------------|
|
|
39
|
+
| `hero` | Article header, main theme | FLUX 2 Pro / Imagen |
|
|
40
|
+
| `illustration` | Abstract concepts, metaphors | FLUX 2 Pro |
|
|
41
|
+
| `diagram` | Technical workflows, architecture | Gemini |
|
|
42
|
+
| `screenshot` | UI mockups, interface designs | GPT Image 1.5 |
|
|
43
|
+
| `infographic-data` | Statistics, metrics, charts | GPT Image 1.5 |
|
|
44
|
+
| `infographic-process` | Step flows, workflows | FLUX 2 Pro |
|
|
45
|
+
| `infographic-comparison` | Side-by-side comparisons | GPT Image 1.5 |
|
|
46
|
+
| `infographic-timeline` | Chronological events | FLUX 2 Pro |
|
|
47
|
+
| `architecture-diagram` | System design, tech stacks | Gemini |
|
|
48
|
+
| `flowchart` | Decision trees, processes | Gemini |
|
|
49
|
+
| `sequence-diagram` | API/service interactions | Gemini |
|
|
50
|
+
| `video` | Product demos, tutorials | Veo 3 |
|
|
51
|
+
|
|
52
|
+
## Prerequisites
|
|
53
|
+
|
|
54
|
+
- At least one API key configured:
|
|
55
|
+
- `GOOGLE_API_KEY` (for Gemini, Imagen, Veo)
|
|
56
|
+
- `OPENAI_API_KEY` (for DALL-E, GPT Image)
|
|
57
|
+
- `FAL_KEY` (for FLUX 2 Pro)
|
|
58
|
+
|
|
59
|
+
Run `/myai-configure visual` to set up API keys.
|
|
60
|
+
|
|
61
|
+
## Process
|
|
62
|
+
|
|
63
|
+
1. **Configuration Check**: Verify API keys are configured
|
|
64
|
+
2. **Requirements Gathering**: Collect prompt, type, and preferences
|
|
65
|
+
3. **Cost Estimation**: Show estimated cost and check budget
|
|
66
|
+
4. **Generation**: Generate image/video using selected service
|
|
67
|
+
5. **Asset Management**: Save to organized directory structure
|
|
68
|
+
6. **Markdown Reference**: Return embed code for content
|
|
69
|
+
|
|
70
|
+
## File Organization
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
content-assets/
|
|
74
|
+
├── images/
|
|
75
|
+
│ └── YYYY-MM-DD/
|
|
76
|
+
│ └── {type}-{description}-{id}.png
|
|
77
|
+
└── videos/
|
|
78
|
+
└── YYYY-MM-DD/
|
|
79
|
+
└── video-{description}-{id}.mp4
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Parameters
|
|
83
|
+
|
|
84
|
+
| Parameter | Description | Default |
|
|
85
|
+
|-----------|-------------|---------|
|
|
86
|
+
| `prompt` | What the image/video should depict | Required |
|
|
87
|
+
| `--type` | Image type (see table above) | hero |
|
|
88
|
+
| `--service` | Preferred generation service | auto |
|
|
89
|
+
| `--quality` | low, medium, high | medium |
|
|
90
|
+
| `--size` | 1024x1024, 1792x1024, 1024x1792 | 1024x1024 |
|
|
91
|
+
| `--description` | Short description for filename | auto |
|
|
92
|
+
|
|
93
|
+
## Budget Management
|
|
94
|
+
|
|
95
|
+
The skill tracks daily and monthly spending:
|
|
96
|
+
- Default daily budget: $5.00
|
|
97
|
+
- Default monthly budget: $50.00
|
|
98
|
+
|
|
99
|
+
Configure limits in `.env`:
|
|
100
|
+
```
|
|
101
|
+
VISUAL_DAILY_BUDGET=10.00
|
|
102
|
+
VISUAL_MONTHLY_BUDGET=100.00
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## HTML Conversion Alternative
|
|
106
|
+
|
|
107
|
+
For data-driven visuals requiring pixel-perfect accuracy, use HTML conversion instead of AI generation:
|
|
108
|
+
|
|
109
|
+
| Use Case | Tool |
|
|
110
|
+
|----------|------|
|
|
111
|
+
| Exact numbers/data | HTML Conversion |
|
|
112
|
+
| Precise text labels | HTML/D2 Conversion |
|
|
113
|
+
| Charts and graphs | HTML Conversion |
|
|
114
|
+
| Creative/artistic | AI Generation |
|
|
115
|
+
|
|
116
|
+
## Example Usage
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Basic hero image
|
|
120
|
+
/myaidev-method:generate-visual "Modern developer workspace" --type=hero
|
|
121
|
+
|
|
122
|
+
# Technical diagram
|
|
123
|
+
/myaidev-method:generate-visual "Microservices architecture with API gateway" --type=architecture-diagram --service=gemini
|
|
124
|
+
|
|
125
|
+
# Data infographic
|
|
126
|
+
/myaidev-method:generate-visual "5 Key API Metrics: Latency <50ms, Uptime 99.99%" --type=infographic-data --service=gpt-image-1.5
|
|
127
|
+
|
|
128
|
+
# Video content
|
|
129
|
+
/myaidev-method:generate-visual "Product demo showing login flow" --type=video --service=veo3
|
|
130
|
+
|
|
131
|
+
# Legacy command
|
|
132
|
+
/myai-generate-visual "Abstract AI concept" --type=illustration
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Integration
|
|
136
|
+
|
|
137
|
+
- Works with `/myaidev-method:content-writer` via `--with-images` flag
|
|
138
|
+
- Automatic asset organization and cost tracking
|
|
139
|
+
- Markdown reference generation for easy embedding
|
|
140
|
+
|
|
141
|
+
## Error Handling
|
|
142
|
+
|
|
143
|
+
- Rate limiting: Wait 60 seconds and retry, or switch service
|
|
144
|
+
- Budget exceeded: Shows usage and suggests increasing limits
|
|
145
|
+
- API errors: Provides helpful guidance and alternatives
|
|
146
|
+
|
|
147
|
+
Always prioritize user experience, cost transparency, and quality results.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wordpress-publisher
|
|
3
|
+
description: Publish and manage content on WordPress sites with full REST API integration
|
|
4
|
+
argument-hint: [file.md] [--status=draft] [--category=blog]
|
|
5
|
+
allowed-tools: [Read, Write, Bash, mcp__myaidev__wp_*]
|
|
6
|
+
user-invocable: true
|
|
7
|
+
category: publishing
|
|
8
|
+
version: 1.0.0
|
|
9
|
+
platforms: [claude-code, gemini-cli, codex-cli]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# WordPress Publisher Skill
|
|
13
|
+
|
|
14
|
+
Publish and manage content on WordPress sites using the WordPress REST API with session management and full MCP integration.
|
|
15
|
+
|
|
16
|
+
## Capabilities
|
|
17
|
+
|
|
18
|
+
- Publish markdown content as WordPress posts/pages
|
|
19
|
+
- Create drafts for review before publishing
|
|
20
|
+
- Manage categories, tags, and featured images
|
|
21
|
+
- Update existing posts
|
|
22
|
+
- Session management for secure API access
|
|
23
|
+
- Health checks and connection validation
|
|
24
|
+
|
|
25
|
+
## Prerequisites
|
|
26
|
+
|
|
27
|
+
Configure WordPress credentials:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
/myai-configure wordpress
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Or set environment variables:
|
|
34
|
+
```
|
|
35
|
+
WORDPRESS_URL=https://your-site.com
|
|
36
|
+
WORDPRESS_USERNAME=your-username
|
|
37
|
+
WORDPRESS_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Creating an Application Password
|
|
41
|
+
|
|
42
|
+
1. Log into WordPress admin
|
|
43
|
+
2. Go to Users → Profile
|
|
44
|
+
3. Scroll to "Application Passwords"
|
|
45
|
+
4. Enter a name (e.g., "MyAIDev Method")
|
|
46
|
+
5. Click "Add New Application Password"
|
|
47
|
+
6. Copy the generated password (shown only once)
|
|
48
|
+
|
|
49
|
+
## MCP Tools Available
|
|
50
|
+
|
|
51
|
+
| Tool | Description |
|
|
52
|
+
|------|-------------|
|
|
53
|
+
| `wp_session_create` | Create authenticated session |
|
|
54
|
+
| `wp_health_check` | Verify connection and authentication |
|
|
55
|
+
| `wp_create_post` | Create new post from markdown |
|
|
56
|
+
| `wp_update_post` | Update existing post |
|
|
57
|
+
| `wp_get_posts` | List posts with filters |
|
|
58
|
+
| `wp_get_categories` | Get available categories |
|
|
59
|
+
| `wp_get_tags` | Get available tags |
|
|
60
|
+
| `wp_upload_media` | Upload images/media |
|
|
61
|
+
| `wp_memory_store` | Store session data |
|
|
62
|
+
|
|
63
|
+
## Process
|
|
64
|
+
|
|
65
|
+
1. **Session Creation**: Authenticate with WordPress
|
|
66
|
+
2. **Content Parsing**: Extract frontmatter and content from markdown
|
|
67
|
+
3. **Media Upload**: Upload any referenced images
|
|
68
|
+
4. **Post Creation**: Create post via REST API
|
|
69
|
+
5. **Verification**: Confirm successful publication
|
|
70
|
+
6. **URL Return**: Provide the published/draft URL
|
|
71
|
+
|
|
72
|
+
## Markdown Format
|
|
73
|
+
|
|
74
|
+
Content should include frontmatter:
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
---
|
|
78
|
+
title: Your Post Title
|
|
79
|
+
meta_description: SEO description (optional)
|
|
80
|
+
slug: url-friendly-slug (optional)
|
|
81
|
+
category: Blog (optional)
|
|
82
|
+
tags: [tag1, tag2] (optional)
|
|
83
|
+
featured_image: ./path/to/image.png (optional)
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
# Your Post Title
|
|
87
|
+
|
|
88
|
+
Your content here...
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Parameters
|
|
92
|
+
|
|
93
|
+
| Parameter | Description | Default |
|
|
94
|
+
|-----------|-------------|---------|
|
|
95
|
+
| `file` | Path to markdown file | Required |
|
|
96
|
+
| `--status` | draft, publish, pending, private | draft |
|
|
97
|
+
| `--category` | Post category | Uncategorized |
|
|
98
|
+
| `--tags` | Comma-separated tags | none |
|
|
99
|
+
| `--author` | Author ID | current user |
|
|
100
|
+
| `--featured-image` | Path to featured image | none |
|
|
101
|
+
|
|
102
|
+
## Example Usage
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Publish as draft
|
|
106
|
+
/myaidev-method:wordpress-publish "./content/my-article.md" --status=draft
|
|
107
|
+
|
|
108
|
+
# Publish immediately
|
|
109
|
+
/myaidev-method:wordpress-publish "./content/my-article.md" --status=publish --category=tutorials
|
|
110
|
+
|
|
111
|
+
# With featured image
|
|
112
|
+
/myaidev-method:wordpress-publish "./content/my-article.md" --featured-image="./images/hero.png"
|
|
113
|
+
|
|
114
|
+
# Legacy command
|
|
115
|
+
/myai-wordpress-publish "./content/my-article.md"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Integration
|
|
119
|
+
|
|
120
|
+
- Works with `/myaidev-method:content-writer` via `--publish-wordpress` flag
|
|
121
|
+
- Works with `/myaidev-method:coordinate-content` for batch publishing
|
|
122
|
+
- Supports content verification before publishing
|
|
123
|
+
|
|
124
|
+
## Gutenberg Block Support
|
|
125
|
+
|
|
126
|
+
The publisher automatically converts markdown to Gutenberg blocks:
|
|
127
|
+
|
|
128
|
+
- Headings → `core/heading`
|
|
129
|
+
- Paragraphs → `core/paragraph`
|
|
130
|
+
- Code blocks → `core/code`
|
|
131
|
+
- Images → `core/image`
|
|
132
|
+
- Lists → `core/list`
|
|
133
|
+
- Blockquotes → `core/quote`
|
|
134
|
+
- Tables → `core/table`
|
|
135
|
+
|
|
136
|
+
## Error Handling
|
|
137
|
+
|
|
138
|
+
| Error | Solution |
|
|
139
|
+
|-------|----------|
|
|
140
|
+
| 401 Unauthorized | Check credentials, regenerate app password |
|
|
141
|
+
| 403 Forbidden | Verify user has publish_posts capability |
|
|
142
|
+
| Connection refused | Check WordPress URL and server status |
|
|
143
|
+
| Media upload failed | Check file permissions and upload limits |
|
|
144
|
+
|
|
145
|
+
## Security Notes
|
|
146
|
+
|
|
147
|
+
- Never commit credentials to version control
|
|
148
|
+
- Use application passwords instead of main password
|
|
149
|
+
- Store credentials in `.env` file (add to `.gitignore`)
|
|
150
|
+
- Use HTTPS for all WordPress connections
|
package/src/config/workflows.js
CHANGED
|
@@ -6,30 +6,41 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
const WORKFLOWS = {
|
|
9
|
-
// Content Creation Workflow
|
|
9
|
+
// Content Creation Workflow (includes WordPress publishing)
|
|
10
10
|
content: {
|
|
11
11
|
name: 'Content Creation',
|
|
12
12
|
description: 'Professional content writing with SEO optimization and WordPress publishing',
|
|
13
13
|
agents: [
|
|
14
14
|
'content-writer',
|
|
15
|
-
'proprietary-content-verifier'
|
|
15
|
+
'proprietary-content-verifier',
|
|
16
|
+
'wordpress-admin'
|
|
16
17
|
],
|
|
17
18
|
commands: [
|
|
18
|
-
'myai-content-writer'
|
|
19
|
+
'myai-content-writer',
|
|
20
|
+
'myai-wordpress-publish',
|
|
21
|
+
'myai-coordinate-content'
|
|
19
22
|
],
|
|
20
23
|
scripts: [
|
|
21
|
-
'utils/write-content.js'
|
|
24
|
+
'utils/write-content.js',
|
|
25
|
+
'wordpress/publish-to-wordpress.js',
|
|
26
|
+
'wordpress/wordpress-health-check.js'
|
|
22
27
|
],
|
|
23
28
|
libs: [
|
|
24
29
|
'content-generator.js',
|
|
25
|
-
'seo-optimizer.js'
|
|
30
|
+
'seo-optimizer.js',
|
|
31
|
+
'wordpress-client.js'
|
|
26
32
|
],
|
|
27
33
|
docs: [
|
|
28
|
-
'content-creation-guide.md'
|
|
34
|
+
'content-creation-guide.md',
|
|
35
|
+
'wordpress-publishing-guide.md'
|
|
29
36
|
],
|
|
30
|
-
mcpServers: [],
|
|
37
|
+
mcpServers: ['myaidev'],
|
|
31
38
|
dependencies: ['core'],
|
|
32
|
-
envVars: [
|
|
39
|
+
envVars: [
|
|
40
|
+
'WORDPRESS_URL',
|
|
41
|
+
'WORDPRESS_USERNAME',
|
|
42
|
+
'WORDPRESS_APP_PASSWORD'
|
|
43
|
+
]
|
|
33
44
|
},
|
|
34
45
|
|
|
35
46
|
// Visual Content Generation Workflow
|
|
@@ -92,9 +103,7 @@ const WORKFLOWS = {
|
|
|
92
103
|
],
|
|
93
104
|
scripts: [],
|
|
94
105
|
libs: [],
|
|
95
|
-
docs: [
|
|
96
|
-
'sparc-methodology.md'
|
|
97
|
-
],
|
|
106
|
+
docs: [],
|
|
98
107
|
mcpServers: [],
|
|
99
108
|
dependencies: ['core'],
|
|
100
109
|
envVars: []
|
|
@@ -113,9 +122,7 @@ const WORKFLOWS = {
|
|
|
113
122
|
'ci/lint.js'
|
|
114
123
|
],
|
|
115
124
|
libs: [],
|
|
116
|
-
docs: [
|
|
117
|
-
'git-workflow-guide.md'
|
|
118
|
-
],
|
|
125
|
+
docs: [],
|
|
119
126
|
mcpServers: [],
|
|
120
127
|
dependencies: ['core'],
|
|
121
128
|
envVars: []
|
|
@@ -192,9 +199,7 @@ const WORKFLOWS = {
|
|
|
192
199
|
libs: [
|
|
193
200
|
'payloadcms-utils.js'
|
|
194
201
|
],
|
|
195
|
-
docs: [
|
|
196
|
-
'payloadcms-publishing-guide.md'
|
|
197
|
-
],
|
|
202
|
+
docs: [],
|
|
198
203
|
mcpServers: [],
|
|
199
204
|
dependencies: ['core', 'content'],
|
|
200
205
|
envVars: [
|
|
@@ -219,9 +224,7 @@ const WORKFLOWS = {
|
|
|
219
224
|
libs: [
|
|
220
225
|
'static-generator.js'
|
|
221
226
|
],
|
|
222
|
-
docs: [
|
|
223
|
-
'static-site-guide.md'
|
|
224
|
-
],
|
|
227
|
+
docs: [],
|
|
225
228
|
mcpServers: [],
|
|
226
229
|
dependencies: ['core', 'content'],
|
|
227
230
|
envVars: []
|
|
@@ -242,9 +245,7 @@ const WORKFLOWS = {
|
|
|
242
245
|
libs: [
|
|
243
246
|
'coolify-client.js'
|
|
244
247
|
],
|
|
245
|
-
docs: [
|
|
246
|
-
'coolify-deployment-guide.md'
|
|
247
|
-
],
|
|
248
|
+
docs: [],
|
|
248
249
|
mcpServers: [],
|
|
249
250
|
dependencies: ['core', 'deployment'],
|
|
250
251
|
envVars: [
|
|
@@ -273,10 +274,7 @@ const WORKFLOWS = {
|
|
|
273
274
|
libs: [
|
|
274
275
|
'config-manager.js'
|
|
275
276
|
],
|
|
276
|
-
docs: [
|
|
277
|
-
'README.md',
|
|
278
|
-
'TECHNICAL_ARCHITECTURE.md'
|
|
279
|
-
],
|
|
277
|
+
docs: [],
|
|
280
278
|
mcpServers: [],
|
|
281
279
|
dependencies: [],
|
|
282
280
|
envVars: []
|
|
@@ -320,12 +318,7 @@ const WORKFLOWS = {
|
|
|
320
318
|
'security/cvss-calculator.js',
|
|
321
319
|
'security/report-generator.js'
|
|
322
320
|
],
|
|
323
|
-
docs: [
|
|
324
|
-
'SECURITY_TESTING_GUIDE.md',
|
|
325
|
-
'LEGAL_REQUIREMENTS.md',
|
|
326
|
-
'TOOL_INSTALLATION.md',
|
|
327
|
-
'PENTEST_METHODOLOGY.md'
|
|
328
|
-
],
|
|
321
|
+
docs: [],
|
|
329
322
|
mcpServers: [],
|
|
330
323
|
dependencies: ['core', 'development'],
|
|
331
324
|
envVars: [
|
|
@@ -371,12 +364,7 @@ const WORKFLOWS = {
|
|
|
371
364
|
'security/cvss-calculator.js',
|
|
372
365
|
'security/report-generator.js'
|
|
373
366
|
],
|
|
374
|
-
docs: [
|
|
375
|
-
'SECURITY_AUDIT_GUIDE.md',
|
|
376
|
-
'COMPLIANCE_FRAMEWORKS.md',
|
|
377
|
-
'SYSTEM_HARDENING.md',
|
|
378
|
-
'LEGAL_REQUIREMENTS.md'
|
|
379
|
-
],
|
|
367
|
+
docs: [],
|
|
380
368
|
mcpServers: [],
|
|
381
369
|
dependencies: ['core'],
|
|
382
370
|
envVars: [
|
|
@@ -416,11 +404,7 @@ const WORKFLOWS = {
|
|
|
416
404
|
'security/web-scanner.js',
|
|
417
405
|
'security/report-generator.js'
|
|
418
406
|
],
|
|
419
|
-
docs: [
|
|
420
|
-
'WEBAPP_SECURITY_GUIDE.md',
|
|
421
|
-
'OWASP_TOP10.md',
|
|
422
|
-
'LEGAL_REQUIREMENTS.md'
|
|
423
|
-
],
|
|
407
|
+
docs: [],
|
|
424
408
|
mcpServers: [],
|
|
425
409
|
dependencies: ['core', 'development', 'security-pentest'],
|
|
426
410
|
envVars: [
|
package/src/lib/ascii-banner.js
CHANGED
|
@@ -98,3 +98,217 @@ ${commands}
|
|
|
98
98
|
${chalk.hex('#FFA500').bold('🎯 Ready to build with the SPARC methodology!')}
|
|
99
99
|
`;
|
|
100
100
|
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Get workflow-specific mini banner
|
|
104
|
+
*/
|
|
105
|
+
export function getWorkflowBanner(workflowName) {
|
|
106
|
+
const orange = chalk.hex('#FFA500');
|
|
107
|
+
const grey = chalk.hex('#808080');
|
|
108
|
+
|
|
109
|
+
const banners = {
|
|
110
|
+
content: `
|
|
111
|
+
${orange('╔═══════════════════════════════════════════════════════════╗')}
|
|
112
|
+
${orange('║')} ${chalk.bold.white('✍️ CONTENT CREATION WORKFLOW')} ${orange('║')}
|
|
113
|
+
${orange('║')} ${grey('Professional SEO-optimized content with WordPress publishing')} ${orange('║')}
|
|
114
|
+
${orange('╚═══════════════════════════════════════════════════════════╝')}`,
|
|
115
|
+
visual: `
|
|
116
|
+
${orange('╔═══════════════════════════════════════════════════════════╗')}
|
|
117
|
+
${orange('║')} ${chalk.bold.white('🎨 VISUAL CONTENT GENERATION WORKFLOW')} ${orange('║')}
|
|
118
|
+
${orange('║')} ${grey('AI-powered images & videos with Gemini, Imagen, FLUX, Veo')} ${orange('║')}
|
|
119
|
+
${orange('╚═══════════════════════════════════════════════════════════╝')}`,
|
|
120
|
+
development: `
|
|
121
|
+
${orange('╔═══════════════════════════════════════════════════════════╗')}
|
|
122
|
+
${orange('║')} ${chalk.bold.white('🏗️ SPARC DEVELOPMENT WORKFLOW')} ${orange('║')}
|
|
123
|
+
${orange('║')} ${grey('Systematic software development with quality standards')} ${orange('║')}
|
|
124
|
+
${orange('╚═══════════════════════════════════════════════════════════╝')}`,
|
|
125
|
+
publish: `
|
|
126
|
+
${orange('╔═══════════════════════════════════════════════════════════╗')}
|
|
127
|
+
${orange('║')} ${chalk.bold.white('📤 PUBLISHING WORKFLOW')} ${orange('║')}
|
|
128
|
+
${orange('║')} ${grey('Multi-platform content publishing and distribution')} ${orange('║')}
|
|
129
|
+
${orange('╚═══════════════════════════════════════════════════════════╝')}`,
|
|
130
|
+
deploy: `
|
|
131
|
+
${orange('╔═══════════════════════════════════════════════════════════╗')}
|
|
132
|
+
${orange('║')} ${chalk.bold.white('🚀 DEPLOYMENT WORKFLOW')} ${orange('║')}
|
|
133
|
+
${orange('║')} ${grey('Application deployment and infrastructure management')} ${orange('║')}
|
|
134
|
+
${orange('╚═══════════════════════════════════════════════════════════╝')}`
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
return banners[workflowName] || banners.content;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Get content workflow success message
|
|
142
|
+
*/
|
|
143
|
+
export function getContentWorkflowSuccess(results, cliType = 'claude') {
|
|
144
|
+
const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
|
|
145
|
+
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
146
|
+
|
|
147
|
+
return `
|
|
148
|
+
${chalk.green.bold('✨ Content Workflow Installed Successfully!')}
|
|
149
|
+
|
|
150
|
+
${chalk.cyan.bold('📊 Installation Summary:')}
|
|
151
|
+
${chalk.green('✓')} ${totalAgents} agents installed
|
|
152
|
+
${chalk.green('✓')} ${totalCommands} commands installed
|
|
153
|
+
|
|
154
|
+
${chalk.cyan.bold('📁 Files Installed:')}
|
|
155
|
+
${cliType === 'claude' ? '.claude/' : '.gemini/'}
|
|
156
|
+
├─ agents/
|
|
157
|
+
│ ├─ content-writer.md ${chalk.dim('# SEO content creation')}
|
|
158
|
+
│ ├─ wordpress-admin.md ${chalk.dim('# WordPress publishing')}
|
|
159
|
+
│ └─ proprietary-content-verifier.md ${chalk.dim('# Content validation')}
|
|
160
|
+
└─ commands/
|
|
161
|
+
├─ myai-content-writer.md ${chalk.dim('# /myai-content-writer')}
|
|
162
|
+
├─ myai-wordpress-publish.md ${chalk.dim('# /myai-wordpress-publish')}
|
|
163
|
+
└─ myai-coordinate-content.md ${chalk.dim('# /myai-coordinate-content')}
|
|
164
|
+
|
|
165
|
+
${chalk.yellow.bold('⚙️ Configuration Required:')}
|
|
166
|
+
Run ${chalk.cyan('/myai-configure')} to set up WordPress credentials:
|
|
167
|
+
${chalk.gray('• WORDPRESS_URL - Your WordPress site URL')}
|
|
168
|
+
${chalk.gray('• WORDPRESS_USERNAME - WordPress username')}
|
|
169
|
+
${chalk.gray('• WORDPRESS_APP_PASSWORD - Application password')}
|
|
170
|
+
|
|
171
|
+
${chalk.green.bold('🚀 Quick Start:')}
|
|
172
|
+
${chalk.gray('1.')} ${chalk.white('Create content:')} ${chalk.cyan('/myai-content-writer "Your Article Topic"')}
|
|
173
|
+
${chalk.gray('2.')} ${chalk.white('Publish to WP:')} ${chalk.cyan('/myai-wordpress-publish "article.md"')}
|
|
174
|
+
${chalk.gray('3.')} ${chalk.white('Batch publish:')} ${chalk.cyan('/myai-coordinate-content ./content/')}
|
|
175
|
+
|
|
176
|
+
${chalk.hex('#FFA500').bold('📝 Ready to create and publish professional content!')}
|
|
177
|
+
`;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Get visual workflow success message
|
|
182
|
+
*/
|
|
183
|
+
export function getVisualWorkflowSuccess(results, cliType = 'claude') {
|
|
184
|
+
const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
|
|
185
|
+
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
186
|
+
|
|
187
|
+
return `
|
|
188
|
+
${chalk.green.bold('✨ Visual Content Workflow Installed Successfully!')}
|
|
189
|
+
|
|
190
|
+
${chalk.cyan.bold('📊 Installation Summary:')}
|
|
191
|
+
${chalk.green('✓')} ${totalAgents} agents installed
|
|
192
|
+
${chalk.green('✓')} ${totalCommands} commands installed
|
|
193
|
+
|
|
194
|
+
${chalk.cyan.bold('📁 Files Installed:')}
|
|
195
|
+
${cliType === 'claude' ? '.claude/' : '.gemini/'}
|
|
196
|
+
├─ agents/
|
|
197
|
+
│ └─ visual-content-generator.md ${chalk.dim('# AI image/video generation')}
|
|
198
|
+
└─ commands/
|
|
199
|
+
└─ myai-generate-visual.md ${chalk.dim('# /myai-generate-visual')}
|
|
200
|
+
|
|
201
|
+
${chalk.yellow.bold('⚙️ API Keys Required (at least one):')}
|
|
202
|
+
${chalk.gray('• GOOGLE_AI_API_KEY - For Gemini, Imagen, Veo')}
|
|
203
|
+
${chalk.gray('• OPENAI_API_KEY - For DALL-E')}
|
|
204
|
+
${chalk.gray('• FAL_AI_API_KEY - For FLUX models')}
|
|
205
|
+
|
|
206
|
+
${chalk.green.bold('🚀 Quick Start:')}
|
|
207
|
+
${chalk.gray('1.')} ${chalk.white('Generate image:')} ${chalk.cyan('/myai-generate-visual "A modern office workspace"')}
|
|
208
|
+
${chalk.gray('2.')} ${chalk.white('With options:')} ${chalk.cyan('/myai-generate-visual "Product photo" --service imagen')}
|
|
209
|
+
${chalk.gray('3.')} ${chalk.white('Generate video:')} ${chalk.cyan('/myai-generate-visual "Timelapse clouds" --type video')}
|
|
210
|
+
|
|
211
|
+
${chalk.cyan.bold('🎨 Supported Services:')}
|
|
212
|
+
${chalk.white('Images:')} Gemini • Imagen • DALL-E • FLUX
|
|
213
|
+
${chalk.white('Videos:')} Veo
|
|
214
|
+
|
|
215
|
+
${chalk.hex('#FFA500').bold('🎨 Ready to generate stunning visual content!')}
|
|
216
|
+
`;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Get development workflow success message
|
|
221
|
+
*/
|
|
222
|
+
export function getDevWorkflowSuccess(results, cliType = 'claude') {
|
|
223
|
+
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
224
|
+
|
|
225
|
+
return `
|
|
226
|
+
${chalk.green.bold('✨ Development Workflow Installed Successfully!')}
|
|
227
|
+
|
|
228
|
+
${chalk.cyan.bold('📊 Installation Summary:')}
|
|
229
|
+
${chalk.green('✓')} ${totalCommands} SPARC commands installed
|
|
230
|
+
|
|
231
|
+
${chalk.cyan.bold('📁 Commands Installed:')}
|
|
232
|
+
${cliType === 'claude' ? '.claude/' : '.gemini/'}commands/
|
|
233
|
+
├─ sc:git.md ${chalk.dim('# Git operations')}
|
|
234
|
+
├─ sc:implement.md ${chalk.dim('# Feature implementation')}
|
|
235
|
+
├─ sc:test.md ${chalk.dim('# Testing strategies')}
|
|
236
|
+
├─ sc:analyze.md ${chalk.dim('# Code analysis')}
|
|
237
|
+
├─ sc:design.md ${chalk.dim('# Architecture design')}
|
|
238
|
+
└─ ... and more
|
|
239
|
+
|
|
240
|
+
${chalk.green.bold('🚀 SPARC Workflow Commands:')}
|
|
241
|
+
${chalk.gray('S')} ${chalk.white('Specification:')} ${chalk.cyan('/sc:brainstorm "Define requirements"')}
|
|
242
|
+
${chalk.gray('P')} ${chalk.white('Pseudocode:')} ${chalk.cyan('/sc:workflow "Plan implementation"')}
|
|
243
|
+
${chalk.gray('A')} ${chalk.white('Architecture:')} ${chalk.cyan('/sc:design "System architecture"')}
|
|
244
|
+
${chalk.gray('R')} ${chalk.white('Refinement:')} ${chalk.cyan('/sc:implement "Build feature"')}
|
|
245
|
+
${chalk.gray('C')} ${chalk.white('Completion:')} ${chalk.cyan('/sc:document "API documentation"')}
|
|
246
|
+
|
|
247
|
+
${chalk.cyan.bold('💡 Additional Commands:')}
|
|
248
|
+
${chalk.gray('•')} ${chalk.cyan('/sc:git')} - Git operations and commits
|
|
249
|
+
${chalk.gray('•')} ${chalk.cyan('/sc:test')} - Run tests with coverage
|
|
250
|
+
${chalk.gray('•')} ${chalk.cyan('/sc:analyze')} - Code quality analysis
|
|
251
|
+
${chalk.gray('•')} ${chalk.cyan('/sc:troubleshoot')} - Debug issues
|
|
252
|
+
|
|
253
|
+
${chalk.hex('#FFA500').bold('🏗️ Ready to build with SPARC methodology!')}
|
|
254
|
+
`;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Get publish workflow success message
|
|
259
|
+
*/
|
|
260
|
+
export function getPublishWorkflowSuccess(workflows, results, cliType = 'claude') {
|
|
261
|
+
const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
|
|
262
|
+
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
263
|
+
|
|
264
|
+
const platformList = workflows.map(w => {
|
|
265
|
+
switch(w) {
|
|
266
|
+
case 'publish-wordpress': return 'WordPress';
|
|
267
|
+
case 'publish-payloadcms': return 'PayloadCMS';
|
|
268
|
+
case 'publish-static': return 'Static Sites (Hugo, Jekyll, 11ty)';
|
|
269
|
+
default: return w;
|
|
270
|
+
}
|
|
271
|
+
}).join(', ');
|
|
272
|
+
|
|
273
|
+
return `
|
|
274
|
+
${chalk.green.bold('✨ Publishing Workflow Installed Successfully!')}
|
|
275
|
+
|
|
276
|
+
${chalk.cyan.bold('📊 Installation Summary:')}
|
|
277
|
+
${chalk.green('✓')} ${totalAgents} agents installed
|
|
278
|
+
${chalk.green('✓')} ${totalCommands} commands installed
|
|
279
|
+
${chalk.green('✓')} Platforms: ${platformList}
|
|
280
|
+
|
|
281
|
+
${chalk.yellow.bold('⚙️ Configuration Required:')}
|
|
282
|
+
Run ${chalk.cyan('/myai-configure')} to set up your publishing platforms.
|
|
283
|
+
|
|
284
|
+
${chalk.green.bold('🚀 Quick Start:')}
|
|
285
|
+
${workflows.includes('publish-wordpress') ? chalk.gray('• WordPress:') + ' ' + chalk.cyan('/myai-wordpress-publish "article.md"') + '\n' : ''}${workflows.includes('publish-payloadcms') ? chalk.gray('• PayloadCMS:') + ' ' + chalk.cyan('/myai-payloadcms-publish "article.md"') + '\n' : ''}${workflows.includes('publish-static') ? chalk.gray('• Static:') + ' ' + chalk.cyan('/myai-static-publish "post.md"') : ''}
|
|
286
|
+
|
|
287
|
+
${chalk.hex('#FFA500').bold('📤 Ready to publish across platforms!')}
|
|
288
|
+
`;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Get deploy workflow success message
|
|
293
|
+
*/
|
|
294
|
+
export function getDeployWorkflowSuccess(workflows, results, cliType = 'claude') {
|
|
295
|
+
const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
|
|
296
|
+
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
297
|
+
|
|
298
|
+
return `
|
|
299
|
+
${chalk.green.bold('✨ Deployment Workflow Installed Successfully!')}
|
|
300
|
+
|
|
301
|
+
${chalk.cyan.bold('📊 Installation Summary:')}
|
|
302
|
+
${chalk.green('✓')} ${totalAgents} agents installed
|
|
303
|
+
${chalk.green('✓')} ${totalCommands} commands installed
|
|
304
|
+
|
|
305
|
+
${chalk.yellow.bold('⚙️ Configuration Required:')}
|
|
306
|
+
${workflows.includes('coolify') ? chalk.gray('• COOLIFY_URL - Your Coolify instance URL') + '\n ' + chalk.gray('• COOLIFY_API_KEY - Coolify API key') : ''}
|
|
307
|
+
|
|
308
|
+
${chalk.green.bold('🚀 Quick Start:')}
|
|
309
|
+
${chalk.gray('•')} ${chalk.cyan('/myai-coolify-deploy')} - Deploy to Coolify
|
|
310
|
+
${chalk.gray('•')} ${chalk.cyan('/sc:deploy')} - General deployment commands
|
|
311
|
+
|
|
312
|
+
${chalk.hex('#FFA500').bold('🚀 Ready to deploy your applications!')}
|
|
313
|
+
`;
|
|
314
|
+
}
|