@sembix/cli 1.3.0 → 1.4.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.
- package/COMMANDS.md +1522 -0
- package/QUICKSTART.md +829 -0
- package/README.md +1949 -285
- package/USAGE-EXAMPLES.md +872 -0
- package/dist/commands/configure.d.ts.map +1 -1
- package/dist/commands/configure.js +172 -2
- package/dist/commands/configure.js.map +1 -1
- package/dist/commands/index.d.ts +10 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +11 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/login.d.ts +19 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +118 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +21 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +66 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/profile-project.d.ts +14 -0
- package/dist/commands/profile-project.d.ts.map +1 -0
- package/dist/commands/profile-project.js +123 -0
- package/dist/commands/profile-project.js.map +1 -0
- package/dist/commands/profile.d.ts +26 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +177 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/project.d.ts +16 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +153 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/workflow.d.ts +91 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +1201 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/config-schema.d.ts +23 -0
- package/dist/config-schema.d.ts.map +1 -1
- package/dist/config-schema.js +21 -1
- package/dist/config-schema.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -2
- package/dist/config.js.map +1 -1
- package/dist/index.js +318 -1
- package/dist/index.js.map +1 -1
- package/dist/prompts/project-selection.d.ts +8 -0
- package/dist/prompts/project-selection.d.ts.map +1 -0
- package/dist/prompts/project-selection.js +132 -0
- package/dist/prompts/project-selection.js.map +1 -0
- package/dist/prompts/workflow-inputs.d.ts +10 -0
- package/dist/prompts/workflow-inputs.d.ts.map +1 -0
- package/dist/prompts/workflow-inputs.js +71 -0
- package/dist/prompts/workflow-inputs.js.map +1 -0
- package/dist/prompts/workflow-selection.d.ts +8 -0
- package/dist/prompts/workflow-selection.d.ts.map +1 -0
- package/dist/prompts/workflow-selection.js +147 -0
- package/dist/prompts/workflow-selection.js.map +1 -0
- package/dist/sembix-cli-1.4.0.tgz +0 -0
- package/dist/services/cognito-auth.d.ts +92 -0
- package/dist/services/cognito-auth.d.ts.map +1 -0
- package/dist/services/cognito-auth.js +319 -0
- package/dist/services/cognito-auth.js.map +1 -0
- package/dist/services/studio-api-client.d.ts +127 -0
- package/dist/services/studio-api-client.d.ts.map +1 -0
- package/dist/services/studio-api-client.js +291 -0
- package/dist/services/studio-api-client.js.map +1 -0
- package/dist/types/studio.d.ts +82 -0
- package/dist/types/studio.d.ts.map +1 -0
- package/dist/types/studio.js +7 -0
- package/dist/types/studio.js.map +1 -0
- package/dist/types.d.ts +283 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/browser-auth.d.ts +45 -0
- package/dist/utils/browser-auth.d.ts.map +1 -0
- package/dist/utils/browser-auth.js +168 -0
- package/dist/utils/browser-auth.js.map +1 -0
- package/dist/utils/cognito-auth.d.ts +3 -0
- package/dist/utils/cognito-auth.d.ts.map +1 -0
- package/dist/utils/cognito-auth.js +3 -0
- package/dist/utils/cognito-auth.js.map +1 -0
- package/dist/utils/config-file.d.ts +40 -0
- package/dist/utils/config-file.d.ts.map +1 -1
- package/dist/utils/config-file.js +158 -4
- package/dist/utils/config-file.js.map +1 -1
- package/dist/utils/environment.d.ts +22 -0
- package/dist/utils/environment.d.ts.map +1 -0
- package/dist/utils/environment.js +39 -0
- package/dist/utils/environment.js.map +1 -0
- package/dist/utils/error-handler.d.ts +53 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +174 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/fuzzy-match.d.ts +31 -0
- package/dist/utils/fuzzy-match.d.ts.map +1 -0
- package/dist/utils/fuzzy-match.js +138 -0
- package/dist/utils/fuzzy-match.js.map +1 -0
- package/dist/utils/input-parser.d.ts +14 -0
- package/dist/utils/input-parser.d.ts.map +1 -0
- package/dist/utils/input-parser.js +34 -0
- package/dist/utils/input-parser.js.map +1 -0
- package/dist/utils/output.d.ts +55 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +80 -0
- package/dist/utils/output.js.map +1 -0
- package/dist/utils/recent-workflows.d.ts +37 -0
- package/dist/utils/recent-workflows.d.ts.map +1 -0
- package/dist/utils/recent-workflows.js +172 -0
- package/dist/utils/recent-workflows.js.map +1 -0
- package/dist/utils/studio-api-client.d.ts +3 -0
- package/dist/utils/studio-api-client.d.ts.map +1 -0
- package/dist/utils/studio-api-client.js +3 -0
- package/dist/utils/studio-api-client.js.map +1 -0
- package/dist/utils/studio-api.d.ts +53 -0
- package/dist/utils/studio-api.d.ts.map +1 -0
- package/dist/utils/studio-api.js +102 -0
- package/dist/utils/studio-api.js.map +1 -0
- package/dist/utils/studio-config.d.ts +74 -0
- package/dist/utils/studio-config.d.ts.map +1 -0
- package/dist/utils/studio-config.js +213 -0
- package/dist/utils/studio-config.js.map +1 -0
- package/dist/utils/token-manager.d.ts +4 -0
- package/dist/utils/token-manager.d.ts.map +1 -0
- package/dist/utils/token-manager.js +3 -0
- package/dist/utils/token-manager.js.map +1 -0
- package/dist/utils/ui.d.ts +55 -1
- package/dist/utils/ui.d.ts.map +1 -1
- package/dist/utils/ui.js +151 -2
- package/dist/utils/ui.js.map +1 -1
- package/package.json +4 -1
- package/dist/__tests__/config-schema.test.d.ts +0 -2
- package/dist/__tests__/config-schema.test.d.ts.map +0 -1
- package/dist/__tests__/config-schema.test.js +0 -471
- package/dist/__tests__/config-schema.test.js.map +0 -1
- package/dist/__tests__/config.test.d.ts +0 -2
- package/dist/__tests__/config.test.d.ts.map +0 -1
- package/dist/__tests__/config.test.js +0 -75
- package/dist/__tests__/config.test.js.map +0 -1
- package/dist/__tests__/integration/configure.test.d.ts +0 -2
- package/dist/__tests__/integration/configure.test.d.ts.map +0 -1
- package/dist/__tests__/integration/configure.test.js +0 -247
- package/dist/__tests__/integration/configure.test.js.map +0 -1
- package/dist/__tests__/integration/fixtures/configs.d.ts +0 -477
- package/dist/__tests__/integration/fixtures/configs.d.ts.map +0 -1
- package/dist/__tests__/integration/fixtures/configs.js +0 -175
- package/dist/__tests__/integration/fixtures/configs.js.map +0 -1
- package/dist/__tests__/integration/helpers/cli-runner.d.ts +0 -63
- package/dist/__tests__/integration/helpers/cli-runner.d.ts.map +0 -1
- package/dist/__tests__/integration/helpers/cli-runner.js +0 -152
- package/dist/__tests__/integration/helpers/cli-runner.js.map +0 -1
- package/dist/__tests__/integration/helpers/command-runner.d.ts +0 -53
- package/dist/__tests__/integration/helpers/command-runner.d.ts.map +0 -1
- package/dist/__tests__/integration/helpers/command-runner.js +0 -117
- package/dist/__tests__/integration/helpers/command-runner.js.map +0 -1
- package/dist/__tests__/integration/studio-create.test.d.ts +0 -2
- package/dist/__tests__/integration/studio-create.test.d.ts.map +0 -1
- package/dist/__tests__/integration/studio-create.test.js +0 -209
- package/dist/__tests__/integration/studio-create.test.js.map +0 -1
- package/dist/__tests__/integration/studio-update.test.d.ts +0 -2
- package/dist/__tests__/integration/studio-update.test.d.ts.map +0 -1
- package/dist/__tests__/integration/studio-update.test.js +0 -166
- package/dist/__tests__/integration/studio-update.test.js.map +0 -1
- package/dist/commands/__tests__/configure.test.d.ts +0 -2
- package/dist/commands/__tests__/configure.test.d.ts.map +0 -1
- package/dist/commands/__tests__/configure.test.js +0 -229
- package/dist/commands/__tests__/configure.test.js.map +0 -1
- package/dist/prompts/__tests__/environment-setup.test.d.ts +0 -2
- package/dist/prompts/__tests__/environment-setup.test.d.ts.map +0 -1
- package/dist/prompts/__tests__/environment-setup.test.js +0 -206
- package/dist/prompts/__tests__/environment-setup.test.js.map +0 -1
- package/dist/prompts/__tests__/hub-integration.test.d.ts +0 -2
- package/dist/prompts/__tests__/hub-integration.test.d.ts.map +0 -1
- package/dist/prompts/__tests__/hub-integration.test.js +0 -126
- package/dist/prompts/__tests__/hub-integration.test.js.map +0 -1
- package/dist/prompts/__tests__/prompt-helpers.test.d.ts +0 -2
- package/dist/prompts/__tests__/prompt-helpers.test.d.ts.map +0 -1
- package/dist/prompts/__tests__/prompt-helpers.test.js +0 -235
- package/dist/prompts/__tests__/prompt-helpers.test.js.map +0 -1
- package/dist/sembix-cli-1.3.0.tgz +0 -0
- package/dist/utils/__tests__/config-file.test.d.ts +0 -2
- package/dist/utils/__tests__/config-file.test.d.ts.map +0 -1
- package/dist/utils/__tests__/config-file.test.js +0 -218
- package/dist/utils/__tests__/config-file.test.js.map +0 -1
- package/dist/utils/__tests__/config-loader.test.d.ts +0 -2
- package/dist/utils/__tests__/config-loader.test.d.ts.map +0 -1
- package/dist/utils/__tests__/config-loader.test.js +0 -325
- package/dist/utils/__tests__/config-loader.test.js.map +0 -1
- package/dist/utils/__tests__/github.test.d.ts +0 -2
- package/dist/utils/__tests__/github.test.d.ts.map +0 -1
- package/dist/utils/__tests__/github.test.js +0 -282
- package/dist/utils/__tests__/github.test.js.map +0 -1
- package/dist/utils/__tests__/ui.test.d.ts +0 -2
- package/dist/utils/__tests__/ui.test.d.ts.map +0 -1
- package/dist/utils/__tests__/ui.test.js +0 -256
- package/dist/utils/__tests__/ui.test.js.map +0 -1
package/QUICKSTART.md
ADDED
|
@@ -0,0 +1,829 @@
|
|
|
1
|
+
# Sembix CLI - Quick Start Guide
|
|
2
|
+
|
|
3
|
+
Get started with the Sembix CLI in 5 minutes.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [GitHub Deployment Quick Start](#github-deployment-quick-start)
|
|
8
|
+
- [Studio CLI Quick Start](#studio-cli-quick-start)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# GitHub Deployment Quick Start
|
|
13
|
+
|
|
14
|
+
## Prerequisites Checklist
|
|
15
|
+
|
|
16
|
+
- [ ] Node.js 20+ installed (`node --version`)
|
|
17
|
+
- [ ] GitHub Personal Access Token with `repo` and `workflow` scopes
|
|
18
|
+
- [ ] Access to a GitHub repository for Sembix Studio deployments
|
|
19
|
+
- [ ] AWS account credentials and infrastructure details ready
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Install globally from npm
|
|
25
|
+
npm install -g @sembix/cli
|
|
26
|
+
|
|
27
|
+
# Verify installation
|
|
28
|
+
sembix --version
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Alternative: Install from source**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Clone and install from source
|
|
35
|
+
npm install
|
|
36
|
+
npm run build
|
|
37
|
+
npm link
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Configuration
|
|
41
|
+
|
|
42
|
+
Run the interactive configuration wizard:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
sembix configure
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
This will:
|
|
49
|
+
- Prompt for your GitHub Personal Access Token
|
|
50
|
+
- Prompt for your default GitHub organization (optional)
|
|
51
|
+
- Save credentials securely to `~/.sembix/config`
|
|
52
|
+
|
|
53
|
+
**Alternative:** Create a `.env` file manually:
|
|
54
|
+
```bash
|
|
55
|
+
cp .env.example .env
|
|
56
|
+
echo "GITHUB_TOKEN=ghp_your_token_here" > .env
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Quick Setup - 2 Commands
|
|
60
|
+
|
|
61
|
+
### 1. Create Environment
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
sembix studio create
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This interactive wizard will:
|
|
68
|
+
- Guide you through all configuration options
|
|
69
|
+
- Create GitHub Actions environment
|
|
70
|
+
- Set all required secrets and variables
|
|
71
|
+
|
|
72
|
+
**Time:** ~5-10 minutes
|
|
73
|
+
|
|
74
|
+
### 2. Add Hub Integration (After First Deployment)
|
|
75
|
+
|
|
76
|
+
After running your first deployment in GitHub Actions:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
sembix studio add-hub
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
This will:
|
|
83
|
+
- List your existing environments
|
|
84
|
+
- Prompt for Hub role ARNs from deployment output
|
|
85
|
+
- Update environment with Hub configuration
|
|
86
|
+
|
|
87
|
+
**Time:** ~2 minutes
|
|
88
|
+
|
|
89
|
+
## Example Workflow
|
|
90
|
+
|
|
91
|
+
### Step 1: Initial Setup
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
$ sembix studio create
|
|
95
|
+
|
|
96
|
+
┌─────────────────────────────────────────┐
|
|
97
|
+
│ │
|
|
98
|
+
│ Sembix Studio CLI │
|
|
99
|
+
│ │
|
|
100
|
+
└─────────────────────────────────────────┘
|
|
101
|
+
|
|
102
|
+
━━━ Repository Selection ━━━
|
|
103
|
+
|
|
104
|
+
? Select deployment repository: acme-corp/sembix-deployment
|
|
105
|
+
? Environment name: acme-production
|
|
106
|
+
? AWS Account ID: 123456789012
|
|
107
|
+
? AWS Region: us-east-1
|
|
108
|
+
... [continues with all prompts]
|
|
109
|
+
|
|
110
|
+
✓ Bootstrap environment created successfully!
|
|
111
|
+
|
|
112
|
+
━━━ Next Steps ━━━
|
|
113
|
+
|
|
114
|
+
Step 1: Run Bootstrap Deployment
|
|
115
|
+
1. Go to GitHub Actions
|
|
116
|
+
2. Run deployment workflow
|
|
117
|
+
3. Copy Hub role ARNs from output
|
|
118
|
+
|
|
119
|
+
Step 2: Complete Hub Configuration
|
|
120
|
+
Run: sembix studio add-hub
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Step 2: GitHub Actions Deployment
|
|
124
|
+
|
|
125
|
+
1. Navigate to: `https://github.com/acme-corp/sembix-deployment/actions`
|
|
126
|
+
2. Select "Deploy Sembix Studio" workflow
|
|
127
|
+
3. Click "Run workflow"
|
|
128
|
+
4. Select environment: `acme-production`
|
|
129
|
+
5. Wait for deployment to complete
|
|
130
|
+
6. **Copy the Hub role ARNs from the workflow output**
|
|
131
|
+
|
|
132
|
+
### Step 3: Add Hub Integration
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
$ sembix studio add-hub
|
|
136
|
+
|
|
137
|
+
━━━ Repository & Environment Selection ━━━
|
|
138
|
+
|
|
139
|
+
? Select deployment repository: acme-corp/sembix-deployment
|
|
140
|
+
? Select environment: acme-production
|
|
141
|
+
|
|
142
|
+
━━━ Sembix Hub Cross-Account Roles ━━━
|
|
143
|
+
|
|
144
|
+
? Hub Engine Execution Role ARN: arn:aws:iam::999999999999:role/hub-engine-execution
|
|
145
|
+
? Hub Consumer Role ARN: arn:aws:iam::999999999999:role/hub-consumer
|
|
146
|
+
? Hub Admin Role ARN: arn:aws:iam::999999999999:role/hub-admin
|
|
147
|
+
|
|
148
|
+
━━━ AppConfig Integration (Optional) ━━━
|
|
149
|
+
|
|
150
|
+
? AppConfig Role ARN: [press Enter to skip]
|
|
151
|
+
... [continues]
|
|
152
|
+
|
|
153
|
+
✓ Hub integration configuration updated successfully!
|
|
154
|
+
|
|
155
|
+
━━━ Next Steps ━━━
|
|
156
|
+
|
|
157
|
+
Deploy with Hub Integration
|
|
158
|
+
1. Go to GitHub Actions
|
|
159
|
+
2. Run deployment workflow with acme-production
|
|
160
|
+
3. Full Hub integration is now active!
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Common Commands
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Setup new environment
|
|
167
|
+
sembix studio create
|
|
168
|
+
|
|
169
|
+
# Add Hub integration
|
|
170
|
+
sembix studio add-hub
|
|
171
|
+
# or use alias:
|
|
172
|
+
sembix studio add-hub
|
|
173
|
+
|
|
174
|
+
# List environments for a repo
|
|
175
|
+
sembix list owner/repo
|
|
176
|
+
|
|
177
|
+
# Use custom token (override .env)
|
|
178
|
+
sembix studio create --token ghp_custom_token
|
|
179
|
+
|
|
180
|
+
# Get help
|
|
181
|
+
sembix --help
|
|
182
|
+
sembix studio create --help
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Tips
|
|
186
|
+
|
|
187
|
+
### 1. Prepare Your Information
|
|
188
|
+
|
|
189
|
+
Before running `sembix studio create`, gather:
|
|
190
|
+
- AWS Account ID
|
|
191
|
+
- AWS Region
|
|
192
|
+
- IAM role ARN for GitHub Actions
|
|
193
|
+
- S3 bucket name for Terraform state
|
|
194
|
+
- Database name and user
|
|
195
|
+
- ACM certificate ARNs (CloudFront in us-east-1, ALB in your region)
|
|
196
|
+
- Route53 hosted zone ID
|
|
197
|
+
- GitHub App credentials
|
|
198
|
+
- Jira client ID
|
|
199
|
+
|
|
200
|
+
### 2. Use Defaults When Possible
|
|
201
|
+
|
|
202
|
+
Many prompts have sensible defaults. Press Enter to accept them:
|
|
203
|
+
- Database name: `sembix_studio`
|
|
204
|
+
- Database user: `sembix_studio_user`
|
|
205
|
+
- VPC CIDR: `10.0.0.0/16`
|
|
206
|
+
- Enable features: Most are `true` by default
|
|
207
|
+
|
|
208
|
+
### 3. Custom Networking
|
|
209
|
+
|
|
210
|
+
If you're deploying to an existing VPC:
|
|
211
|
+
- Answer "yes" to "Use existing VPC and subnets?"
|
|
212
|
+
- Have VPC ID and subnet IDs ready
|
|
213
|
+
- Skip VPC CIDR configuration
|
|
214
|
+
|
|
215
|
+
### 4. Save Your Workflow
|
|
216
|
+
|
|
217
|
+
After your first setup, you'll know which options you typically use. Document your standard configuration for faster future setups.
|
|
218
|
+
|
|
219
|
+
### 5. Validate Before Deploy
|
|
220
|
+
|
|
221
|
+
The CLI validates inputs in real-time:
|
|
222
|
+
- AWS Account IDs must be 12 digits
|
|
223
|
+
- IAM role ARNs must match AWS format
|
|
224
|
+
- CloudFront certificates must be in us-east-1
|
|
225
|
+
- Environment names must be lowercase alphanumeric with hyphens
|
|
226
|
+
|
|
227
|
+
## Troubleshooting
|
|
228
|
+
|
|
229
|
+
### Token Issues
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
# Error: GitHub token is required
|
|
233
|
+
# Solution: Run sembix configure to set up your credentials
|
|
234
|
+
|
|
235
|
+
sembix configure
|
|
236
|
+
|
|
237
|
+
# Or check .env file exists and contains valid token
|
|
238
|
+
cat .env
|
|
239
|
+
# Should show: GITHUB_TOKEN=ghp_...
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Permission Issues
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# Error: Resource not accessible by integration
|
|
246
|
+
# Solution: Token needs 'repo' and 'workflow' scopes
|
|
247
|
+
# Create new token at: https://github.com/settings/tokens
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Build Issues
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
# Error: Cannot find module
|
|
254
|
+
# Solution: Reinstall dependencies
|
|
255
|
+
|
|
256
|
+
rm -rf node_modules
|
|
257
|
+
npm install
|
|
258
|
+
npm run build
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
## Next Steps
|
|
262
|
+
|
|
263
|
+
After successful setup:
|
|
264
|
+
|
|
265
|
+
1. **Deploy Infrastructure** - Run GitHub Actions workflow
|
|
266
|
+
2. **Verify Deployment** - Check AWS Console for resources
|
|
267
|
+
3. **Add Hub Integration** - Run `sembix studio add-hub`
|
|
268
|
+
4. **Final Deployment** - Deploy again with Hub enabled
|
|
269
|
+
5. **Access Studio** - Navigate to your CloudFront domain
|
|
270
|
+
|
|
271
|
+
## Getting Help
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
# CLI help
|
|
275
|
+
sembix --help
|
|
276
|
+
|
|
277
|
+
# Command-specific help
|
|
278
|
+
sembix studio create --help
|
|
279
|
+
sembix studio add-hub --help
|
|
280
|
+
|
|
281
|
+
# Documentation
|
|
282
|
+
cat README.md
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## Reference
|
|
286
|
+
|
|
287
|
+
- Full documentation: [README.md](./README.md)
|
|
288
|
+
- Configuration reference: [README.md#configuration-reference](./README.md#configuration-reference)
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
# Studio CLI Quick Start
|
|
293
|
+
|
|
294
|
+
Connect to and manage Sembix Studio instances directly from the CLI.
|
|
295
|
+
|
|
296
|
+
## Prerequisites Checklist
|
|
297
|
+
|
|
298
|
+
- [ ] Node.js 20+ installed (`node --version`)
|
|
299
|
+
- [ ] Access to a Sembix Studio instance
|
|
300
|
+
- [ ] Studio API URL (e.g., `https://studio.example.com`)
|
|
301
|
+
- [ ] Cognito authentication credentials:
|
|
302
|
+
- [ ] User Pool ID (e.g., `us-east-1_ABC123`)
|
|
303
|
+
- [ ] Client ID
|
|
304
|
+
- [ ] Cognito Domain (e.g., `https://auth.example.com`)
|
|
305
|
+
- [ ] AWS Region (e.g., `us-east-1`)
|
|
306
|
+
|
|
307
|
+
## Installation
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
# Install globally from npm
|
|
311
|
+
npm install -g @sembix/cli
|
|
312
|
+
|
|
313
|
+
# Verify installation
|
|
314
|
+
sembix --version
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Quick Setup - 3 Commands
|
|
318
|
+
|
|
319
|
+
### 1. Configure Studio Profile
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
sembix configure
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
This interactive wizard will:
|
|
326
|
+
- Prompt for GitHub credentials (token and optional default org)
|
|
327
|
+
- Optionally prompt to configure a Studio profile:
|
|
328
|
+
- Profile name (default: "default")
|
|
329
|
+
- Studio API URL
|
|
330
|
+
- Cognito configuration (User Pool ID, Client ID, Domain, Region)
|
|
331
|
+
- Save configuration to `~/.sembix/config`
|
|
332
|
+
|
|
333
|
+
**Time:** ~2 minutes
|
|
334
|
+
|
|
335
|
+
### 2. Authenticate with Studio
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
sembix login
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
This will:
|
|
342
|
+
- Open your browser for Cognito authentication
|
|
343
|
+
- Complete OAuth flow with PKCE
|
|
344
|
+
- Store authentication tokens securely
|
|
345
|
+
- Display token expiration time
|
|
346
|
+
|
|
347
|
+
**Time:** ~1 minute
|
|
348
|
+
|
|
349
|
+
### 3. Start a Workflow
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
# Interactive mode (recommended for first time)
|
|
353
|
+
sembix workflow start
|
|
354
|
+
|
|
355
|
+
# Or with explicit IDs
|
|
356
|
+
sembix workflow start --project-id proj_123 --workflow-id wf_456
|
|
357
|
+
|
|
358
|
+
# Or with workflow name
|
|
359
|
+
sembix workflow start --project-id proj_123 --workflow-name "Deploy to Production"
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
This will:
|
|
363
|
+
- Start workflow execution in Studio
|
|
364
|
+
- Return run ID and task ARN
|
|
365
|
+
- Display success confirmation
|
|
366
|
+
- Interactive mode prompts for project, workflow, and inputs
|
|
367
|
+
|
|
368
|
+
**Time:** ~10 seconds
|
|
369
|
+
|
|
370
|
+
### 4. Set Default Project (Optional)
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
sembix profile set-default-project production proj_abc123
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
This allows you to omit `--project-id` in future commands:
|
|
377
|
+
|
|
378
|
+
```bash
|
|
379
|
+
# Now you can just use:
|
|
380
|
+
sembix workflow start --workflow-id wf_456
|
|
381
|
+
|
|
382
|
+
# Instead of:
|
|
383
|
+
sembix workflow start --project-id proj_abc123 --workflow-id wf_456
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
**Time:** ~5 seconds
|
|
387
|
+
|
|
388
|
+
## Example Workflow
|
|
389
|
+
|
|
390
|
+
### Step 1: Configure Studio Profile
|
|
391
|
+
|
|
392
|
+
```bash
|
|
393
|
+
$ sembix configure
|
|
394
|
+
|
|
395
|
+
┌─────────────────────────────────────────┐
|
|
396
|
+
│ │
|
|
397
|
+
│ Configure Sembix CLI │
|
|
398
|
+
│ │
|
|
399
|
+
└─────────────────────────────────────────┘
|
|
400
|
+
|
|
401
|
+
? GitHub Personal Access Token: **********************
|
|
402
|
+
? Default GitHub Organization (optional): my-org
|
|
403
|
+
? Configure Sembix Studio profile? Yes
|
|
404
|
+
|
|
405
|
+
━━━ Studio Profile Configuration ━━━
|
|
406
|
+
|
|
407
|
+
? Profile name: production
|
|
408
|
+
? Studio API URL: https://studio.example.com
|
|
409
|
+
? Cognito User Pool ID: us-east-1_ABC123
|
|
410
|
+
? Cognito Client ID: 1a2b3c4d5e6f7g8h9i0j
|
|
411
|
+
? Cognito Region: us-east-1
|
|
412
|
+
? Cognito Domain: https://auth.example.com
|
|
413
|
+
|
|
414
|
+
✓ Configuration saved successfully!
|
|
415
|
+
✓ Studio profile 'production' configured successfully!
|
|
416
|
+
|
|
417
|
+
━━━ Next Steps ━━━
|
|
418
|
+
|
|
419
|
+
Authenticate with Studio:
|
|
420
|
+
sembix login production
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
### Step 2: Authenticate
|
|
424
|
+
|
|
425
|
+
```bash
|
|
426
|
+
$ sembix login --profile production
|
|
427
|
+
|
|
428
|
+
┌─────────────────────────────────────────┐
|
|
429
|
+
│ │
|
|
430
|
+
│ Sembix Studio Authentication │
|
|
431
|
+
│ │
|
|
432
|
+
└─────────────────────────────────────────┘
|
|
433
|
+
|
|
434
|
+
Authenticating with profile: production
|
|
435
|
+
|
|
436
|
+
✓ Starting local callback server on port 3000...
|
|
437
|
+
✓ Opening browser for authentication...
|
|
438
|
+
|
|
439
|
+
[Browser opens to Cognito login page]
|
|
440
|
+
|
|
441
|
+
✓ Authentication successful!
|
|
442
|
+
✓ Tokens stored securely
|
|
443
|
+
|
|
444
|
+
Token expires: 2024-01-15 14:30:00 UTC (in 1 hour)
|
|
445
|
+
|
|
446
|
+
━━━ Next Steps ━━━
|
|
447
|
+
|
|
448
|
+
Start a workflow:
|
|
449
|
+
sembix workflow start --project-id <id> --workflow-id <id>
|
|
450
|
+
|
|
451
|
+
List workflow runs:
|
|
452
|
+
sembix workflow list
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### Step 3: Start a Workflow
|
|
456
|
+
|
|
457
|
+
```bash
|
|
458
|
+
$ sembix workflow start --project-id proj_abc123 --workflow-id wf_def456
|
|
459
|
+
|
|
460
|
+
┌─────────────────────────────────────────┐
|
|
461
|
+
│ │
|
|
462
|
+
│ Start Workflow Execution │
|
|
463
|
+
│ │
|
|
464
|
+
└─────────────────────────────────────────┘
|
|
465
|
+
|
|
466
|
+
Starting workflow...
|
|
467
|
+
|
|
468
|
+
✓ Workflow started successfully!
|
|
469
|
+
|
|
470
|
+
Run ID: run_xyz789
|
|
471
|
+
Task ARN: arn:aws:ecs:us-east-1:123456789012:task/cluster/abc123
|
|
472
|
+
|
|
473
|
+
━━━ Next Steps ━━━
|
|
474
|
+
|
|
475
|
+
Check workflow status:
|
|
476
|
+
sembix workflow run status --workflow-id wf_def456 --run-id run_xyz789
|
|
477
|
+
|
|
478
|
+
Watch workflow progress:
|
|
479
|
+
sembix workflow run status --workflow-id wf_def456 --run-id run_xyz789 --watch
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### Step 4: Check Workflow Status
|
|
483
|
+
|
|
484
|
+
```bash
|
|
485
|
+
$ sembix workflow run status --workflow-id wf_def456 --run-id run_xyz789
|
|
486
|
+
|
|
487
|
+
┌─────────────────────────────────────────┐
|
|
488
|
+
│ │
|
|
489
|
+
│ Workflow Run Status │
|
|
490
|
+
│ │
|
|
491
|
+
└─────────────────────────────────────────┘
|
|
492
|
+
|
|
493
|
+
┌──────────────┬────────────────────────────────────────┐
|
|
494
|
+
│ Field │ Value │
|
|
495
|
+
├──────────────┼────────────────────────────────────────┤
|
|
496
|
+
│ Run ID │ run_xyz789 │
|
|
497
|
+
│ Workflow ID │ wf_def456 │
|
|
498
|
+
│ Status │ RUNNING │
|
|
499
|
+
│ Progress │ 45% │
|
|
500
|
+
│ Created At │ 2024-01-15 13:30:00 UTC │
|
|
501
|
+
│ Creator ID │ user_123 │
|
|
502
|
+
└──────────────┴────────────────────────────────────────┘
|
|
503
|
+
|
|
504
|
+
━━━ Next Steps ━━━
|
|
505
|
+
|
|
506
|
+
Watch for completion:
|
|
507
|
+
sembix workflow run status --workflow-id wf_def456 --run-id run_xyz789 --watch
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
### Step 5: Start Workflow with Input Variables
|
|
511
|
+
|
|
512
|
+
```bash
|
|
513
|
+
# Using JSON string
|
|
514
|
+
$ sembix workflow start \
|
|
515
|
+
--project-id proj_abc123 \
|
|
516
|
+
--workflow-id wf_def456 \
|
|
517
|
+
--inputs '{"environment":"production","version":"1.2.3"}'
|
|
518
|
+
|
|
519
|
+
# Using JSON file
|
|
520
|
+
$ cat inputs.json
|
|
521
|
+
{
|
|
522
|
+
"environment": "production",
|
|
523
|
+
"version": "1.2.3",
|
|
524
|
+
"config": {
|
|
525
|
+
"timeout": 300,
|
|
526
|
+
"retries": 3
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
$ sembix workflow start \
|
|
531
|
+
--project-id proj_abc123 \
|
|
532
|
+
--workflow-id wf_def456 \
|
|
533
|
+
--inputs @inputs.json
|
|
534
|
+
|
|
535
|
+
✓ Workflow started successfully!
|
|
536
|
+
Run ID: run_abc123
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
## Common Studio CLI Commands
|
|
540
|
+
|
|
541
|
+
```bash
|
|
542
|
+
# Profile Management
|
|
543
|
+
sembix configure # Configure new profile
|
|
544
|
+
sembix profile list # List all profiles
|
|
545
|
+
sembix profile set-default <name> # Set default profile
|
|
546
|
+
sembix profile delete <name> # Delete a profile
|
|
547
|
+
sembix profile set-default-project <profile> <project-id> # Set default project
|
|
548
|
+
sembix profile get-default-project <profile> # Get default project
|
|
549
|
+
sembix profile clear-default-project <profile> # Clear default project
|
|
550
|
+
|
|
551
|
+
# Project Operations
|
|
552
|
+
sembix project list # List all projects
|
|
553
|
+
sembix project list --name "My Project" # Search by name
|
|
554
|
+
sembix project show --project-id <id> # Show project details
|
|
555
|
+
|
|
556
|
+
# Authentication
|
|
557
|
+
sembix login # Login with default profile
|
|
558
|
+
sembix login --profile production # Login with specific profile
|
|
559
|
+
sembix logout # Logout from default profile
|
|
560
|
+
sembix logout --profile production # Logout from specific profile
|
|
561
|
+
sembix logout --all # Logout from all profiles
|
|
562
|
+
|
|
563
|
+
# Workflow Operations
|
|
564
|
+
sembix workflow start # Interactive mode
|
|
565
|
+
sembix workflow start --project-id <id> --workflow-id <id>
|
|
566
|
+
sembix workflow start --project-id <id> --workflow-name "Name"
|
|
567
|
+
sembix workflow start --workflow-id <id> --inputs @file.json # Uses default project
|
|
568
|
+
sembix workflow list # List workflow instances
|
|
569
|
+
sembix workflow show --project-id <id> --workflow-id <id>
|
|
570
|
+
sembix workflow run list # List workflow runs
|
|
571
|
+
sembix workflow run list --workflow-id <id>
|
|
572
|
+
sembix workflow run show --workflow-id <id> --run-id <id>
|
|
573
|
+
sembix workflow run status --workflow-id <id> --run-id <id> --watch
|
|
574
|
+
sembix workflow run stop --workflow-id <id> --run-id <id>
|
|
575
|
+
|
|
576
|
+
# Using specific profile
|
|
577
|
+
sembix workflow start --profile production --project-id <id> --workflow-id <id>
|
|
578
|
+
|
|
579
|
+
# Output formatting
|
|
580
|
+
sembix project list --output pretty
|
|
581
|
+
sembix workflow run list --pretty
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
## Tips
|
|
585
|
+
|
|
586
|
+
### 1. Multiple Studio Instances
|
|
587
|
+
|
|
588
|
+
Manage multiple Studio instances with profiles:
|
|
589
|
+
|
|
590
|
+
```bash
|
|
591
|
+
# Configure production profile
|
|
592
|
+
sembix configure
|
|
593
|
+
# Profile name: production
|
|
594
|
+
# API URL: https://studio-prod.example.com
|
|
595
|
+
|
|
596
|
+
# Configure staging profile
|
|
597
|
+
sembix configure
|
|
598
|
+
# Profile name: staging
|
|
599
|
+
# API URL: https://studio-staging.example.com
|
|
600
|
+
|
|
601
|
+
# Use specific profile
|
|
602
|
+
sembix login --profile staging
|
|
603
|
+
sembix workflow start --profile staging --project-id <id> --workflow-id <id>
|
|
604
|
+
|
|
605
|
+
# Switch default profile
|
|
606
|
+
sembix profile set-default staging
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
### 2. Token Management
|
|
610
|
+
|
|
611
|
+
Tokens are stored securely and refreshed automatically:
|
|
612
|
+
|
|
613
|
+
```bash
|
|
614
|
+
# Check which profiles have active tokens
|
|
615
|
+
sembix profile list
|
|
616
|
+
# Shows: production (authenticated), staging (not authenticated)
|
|
617
|
+
|
|
618
|
+
# Tokens expire after 1 hour by default
|
|
619
|
+
# CLI automatically refreshes tokens when needed
|
|
620
|
+
|
|
621
|
+
# Manually logout to clear tokens
|
|
622
|
+
sembix logout --profile production
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
### 3. Input Variables
|
|
626
|
+
|
|
627
|
+
Multiple ways to provide workflow inputs:
|
|
628
|
+
|
|
629
|
+
```bash
|
|
630
|
+
# Simple JSON string
|
|
631
|
+
--inputs '{"key":"value"}'
|
|
632
|
+
|
|
633
|
+
# From file (recommended for complex inputs)
|
|
634
|
+
--inputs @inputs.json
|
|
635
|
+
|
|
636
|
+
# With workspace context
|
|
637
|
+
--inputs '{"workspaceId":"ws_123","workspaceName":"my-workspace"}'
|
|
638
|
+
|
|
639
|
+
# With issue context
|
|
640
|
+
--inputs '{"issueId":"issue_456","issueKey":"PROJ-123"}'
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
### 4. Monitoring Workflows
|
|
644
|
+
|
|
645
|
+
Watch workflow progress in real-time:
|
|
646
|
+
|
|
647
|
+
```bash
|
|
648
|
+
# Start workflow and get run ID
|
|
649
|
+
RUN_ID=$(sembix workflow start --project-id proj_123 --workflow-id wf_456 | grep "Run ID" | awk '{print $3}')
|
|
650
|
+
|
|
651
|
+
# Watch status until completion
|
|
652
|
+
sembix workflow run status --workflow-id wf_456 --run-id $RUN_ID --watch
|
|
653
|
+
|
|
654
|
+
# List recent runs
|
|
655
|
+
sembix workflow run list --workflow-id wf_456 --limit 10
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
### 6. Output Formatting
|
|
659
|
+
|
|
660
|
+
Control output format for better readability or automation:
|
|
661
|
+
|
|
662
|
+
```bash
|
|
663
|
+
# Pretty JSON for human reading
|
|
664
|
+
sembix project list --pretty
|
|
665
|
+
|
|
666
|
+
# JSON for scripts (default)
|
|
667
|
+
sembix workflow run list --output json
|
|
668
|
+
|
|
669
|
+
# Text for terminal display
|
|
670
|
+
sembix project list --output text
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
### 7. Profile Configuration Files
|
|
674
|
+
|
|
675
|
+
Profiles are stored in `~/.sembix/config`:
|
|
676
|
+
|
|
677
|
+
```ini
|
|
678
|
+
[profile production]
|
|
679
|
+
api_url=https://studio-prod.example.com
|
|
680
|
+
cognito_user_pool_id=us-east-1_ABC123
|
|
681
|
+
cognito_client_id=1a2b3c4d5e6f7g8h9i0j
|
|
682
|
+
cognito_region=us-east-1
|
|
683
|
+
cognito_domain=https://auth-prod.example.com
|
|
684
|
+
|
|
685
|
+
[profile staging]
|
|
686
|
+
api_url=https://studio-staging.example.com
|
|
687
|
+
cognito_user_pool_id=us-east-1_XYZ789
|
|
688
|
+
cognito_client_id=9i8h7g6f5e4d3c2b1a0
|
|
689
|
+
cognito_region=us-east-1
|
|
690
|
+
cognito_domain=https://auth-staging.example.com
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
Tokens are stored separately in `~/.sembix/tokens/<profile>.json` with restricted permissions (0600).
|
|
694
|
+
|
|
695
|
+
## Troubleshooting
|
|
696
|
+
|
|
697
|
+
### Authentication Issues
|
|
698
|
+
|
|
699
|
+
```bash
|
|
700
|
+
# Error: Browser did not open
|
|
701
|
+
# Solution: Manually open the URL displayed in terminal
|
|
702
|
+
|
|
703
|
+
# Error: Authentication timeout
|
|
704
|
+
# Solution: Complete authentication within 5 minutes
|
|
705
|
+
# If timeout occurs, run 'sembix login' again
|
|
706
|
+
|
|
707
|
+
# Error: Token expired
|
|
708
|
+
# Solution: CLI automatically refreshes tokens
|
|
709
|
+
# If refresh fails, run 'sembix login' again
|
|
710
|
+
|
|
711
|
+
sembix login --profile production
|
|
712
|
+
```
|
|
713
|
+
|
|
714
|
+
### Profile Issues
|
|
715
|
+
|
|
716
|
+
```bash
|
|
717
|
+
# Error: Profile not found
|
|
718
|
+
# Solution: Configure the profile first
|
|
719
|
+
|
|
720
|
+
sembix configure
|
|
721
|
+
|
|
722
|
+
# Error: No default profile
|
|
723
|
+
# Solution: Set a default profile or specify --profile flag
|
|
724
|
+
|
|
725
|
+
sembix profile set-default production
|
|
726
|
+
# or
|
|
727
|
+
sembix login --profile production
|
|
728
|
+
|
|
729
|
+
# List all configured profiles
|
|
730
|
+
sembix profile list
|
|
731
|
+
```
|
|
732
|
+
|
|
733
|
+
### API Connection Issues
|
|
734
|
+
|
|
735
|
+
```bash
|
|
736
|
+
# Error: Cannot connect to Studio API
|
|
737
|
+
# Solution: Verify API URL in profile configuration
|
|
738
|
+
|
|
739
|
+
sembix profile list
|
|
740
|
+
# Check API URL is correct
|
|
741
|
+
|
|
742
|
+
# Reconfigure profile if needed
|
|
743
|
+
sembix configure
|
|
744
|
+
# Use same profile name to update existing profile
|
|
745
|
+
|
|
746
|
+
# Error: 401 Unauthorized
|
|
747
|
+
# Solution: Re-authenticate
|
|
748
|
+
|
|
749
|
+
sembix login --profile production
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
### Workflow Execution Issues
|
|
753
|
+
|
|
754
|
+
```bash
|
|
755
|
+
# Error: Invalid input format
|
|
756
|
+
# Solution: Validate JSON syntax
|
|
757
|
+
|
|
758
|
+
# Test JSON validity
|
|
759
|
+
echo '{"key":"value"}' | jq .
|
|
760
|
+
|
|
761
|
+
# Use file for complex inputs
|
|
762
|
+
cat inputs.json | jq . # Validate
|
|
763
|
+
sembix workflow start --project-id <id> --workflow-id <id> --inputs @inputs.json
|
|
764
|
+
|
|
765
|
+
# Error: Workflow not found
|
|
766
|
+
# Solution: Verify project ID and workflow ID
|
|
767
|
+
|
|
768
|
+
# List workflow instances
|
|
769
|
+
sembix workflow list --project-id <id>
|
|
770
|
+
|
|
771
|
+
# Or use interactive mode to search
|
|
772
|
+
sembix workflow start
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
### Token Storage Issues
|
|
776
|
+
|
|
777
|
+
```bash
|
|
778
|
+
# Error: Permission denied writing tokens
|
|
779
|
+
# Solution: Check ~/.sembix directory permissions
|
|
780
|
+
|
|
781
|
+
ls -la ~/.sembix
|
|
782
|
+
chmod 700 ~/.sembix
|
|
783
|
+
chmod 600 ~/.sembix/tokens/*
|
|
784
|
+
|
|
785
|
+
# Clear and re-authenticate
|
|
786
|
+
sembix logout --all
|
|
787
|
+
sembix login
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
## Next Steps
|
|
791
|
+
|
|
792
|
+
After successful Studio CLI setup:
|
|
793
|
+
|
|
794
|
+
1. **Explore Workflows** - List available workflows with `sembix workflow list`
|
|
795
|
+
2. **Automate Executions** - Integrate workflow commands into CI/CD pipelines
|
|
796
|
+
3. **Monitor Progress** - Use `--watch` flag for real-time status updates
|
|
797
|
+
4. **Manage Profiles** - Configure profiles for different environments
|
|
798
|
+
5. **Review Documentation** - See [COMMANDS.md](./COMMANDS.md) for complete command reference
|
|
799
|
+
|
|
800
|
+
## Getting Help
|
|
801
|
+
|
|
802
|
+
```bash
|
|
803
|
+
# CLI help
|
|
804
|
+
sembix --help
|
|
805
|
+
|
|
806
|
+
# Studio CLI commands help
|
|
807
|
+
sembix configure --help
|
|
808
|
+
sembix login --help
|
|
809
|
+
sembix workflow --help
|
|
810
|
+
sembix workflow start --help
|
|
811
|
+
sembix workflow status --help
|
|
812
|
+
sembix workflow list --help
|
|
813
|
+
sembix profile --help
|
|
814
|
+
|
|
815
|
+
# Documentation
|
|
816
|
+
cat README.md
|
|
817
|
+
cat COMMANDS.md
|
|
818
|
+
```
|
|
819
|
+
|
|
820
|
+
## Reference
|
|
821
|
+
|
|
822
|
+
- Full documentation: [README.md](./README.md)
|
|
823
|
+
- Studio CLI documentation: [README.md#studio-cli](./README.md#studio-cli)
|
|
824
|
+
- Command reference: [COMMANDS.md](./COMMANDS.md)
|
|
825
|
+
- Studio CLI commands: [COMMANDS.md#studio-cli-commands](./COMMANDS.md#studio-cli-commands)
|
|
826
|
+
|
|
827
|
+
---
|
|
828
|
+
|
|
829
|
+
**Need more help?** Contact the Sembix team or refer to the main documentation.
|