@faros-fde-sandbox/cli 1.1.0 → 1.1.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/README.md CHANGED
@@ -1,6 +1,34 @@
1
1
  # Faros CLI
2
2
 
3
- CLI for Faros AI - sync data, manage sources, view logs.
3
+ [![npm version](https://badge.fury.io/js/@faros-fde-sandbox%2Fcli.svg)](https://www.npmjs.com/package/@faros-fde-sandbox/cli)
4
+ [![Test](https://github.com/faros-fde/faros-cli/actions/workflows/test.yml/badge.svg)](https://github.com/faros-fde/faros-cli/actions/workflows/test.yml)
5
+
6
+ CLI for Faros AI - sync test results, CI/CD events, and Linear data.
7
+
8
+ ## Table of Contents
9
+
10
+ - [Installation](#installation)
11
+ - [Quick Start](#quick-start)
12
+ - [Commands](#commands)
13
+ - [faros sync tests](#faros-sync-tests)
14
+ - [faros sync ci-cd](#faros-sync-ci-cd)
15
+ - [faros sync linear](#faros-sync-linear)
16
+ - [Configuration](#configuration)
17
+ - [Environment Variables](#environment-variables)
18
+ - [Configuration File](#configuration-file)
19
+ - [Configuration Priority](#configuration-priority)
20
+ - [CI/CD Environments](#cicd-environments)
21
+ - [Global Options](#global-options)
22
+ - [Validation](#validation)
23
+ - [CI/CD Integration](#cicd-integration)
24
+ - [GitHub Actions](#github-actions)
25
+ - [Jenkins](#jenkins)
26
+ - [GitLab CI](#gitlab-ci)
27
+ - [CircleCI](#circleci)
28
+ - [Bitbucket Pipelines](#bitbucket-pipelines)
29
+ - [URI Formats](#uri-formats)
30
+ - [Development](#development)
31
+ - [License](#license)
4
32
 
5
33
  ## Installation
6
34
 
@@ -22,20 +50,21 @@ faros sync ci-cd build \
22
50
  --commit "GitHub://myorg/myrepo/abc123" \
23
51
  --run "Jenkins://myorg/pipeline/456"
24
52
 
25
- # View logs
26
- faros logs
53
+ # Report deployment status
54
+ faros sync ci-cd deploy \
55
+ --status Success \
56
+ --commit "GitHub://myorg/myrepo/abc123" \
57
+ --deploy "Kubernetes://myapp/Prod/deploy-789"
27
58
 
28
- # List configured sources
29
- faros sources list
59
+ # Sync Linear data
60
+ faros sync linear \
61
+ --linear-api-key lin_api_xxx \
62
+ --cutoff-days 30
30
63
  ```
31
64
 
32
65
  ## Commands
33
66
 
34
- ### `faros sync`
35
-
36
- Sync data from various sources to Faros.
37
-
38
- #### `faros sync tests`
67
+ ### `faros sync tests`
39
68
 
40
69
  Sync test results (JUnit, TestNG, xUnit, Cucumber, Mocha) to Faros.
41
70
 
@@ -54,7 +83,6 @@ faros sync tests <paths...> [options]
54
83
  - `--concurrency <number>` - Concurrent uploads (default: 8)
55
84
  - `--validate` - Validate only, don't send (fast, offline)
56
85
  - `--preview` - Show sample records
57
- - `--dry-run` - Sync to staging graph
58
86
 
59
87
  **Examples:**
60
88
 
@@ -65,24 +93,11 @@ faros sync tests test-results/*.xml \
65
93
  --commit "GitHub://myorg/myrepo/abc123"
66
94
  ```
67
95
 
68
- From S3:
69
- ```bash
70
- faros sync tests s3://bucket/junit/ \
71
- --pattern ".*\\.xml$" \
72
- --s3-region us-east-1 \
73
- --source "Jenkins"
74
- ```
75
-
76
96
  Validate before syncing:
77
97
  ```bash
78
98
  faros sync tests *.xml --validate
79
99
  ```
80
100
 
81
- Dry run to staging:
82
- ```bash
83
- faros sync tests *.xml --dry-run
84
- ```
85
-
86
101
  #### `faros sync ci-cd`
87
102
 
88
103
  Sync CI/CD events (builds and deployments) to Faros.
@@ -112,88 +127,121 @@ faros sync ci-cd deploy \
112
127
  --deploy-end-time "2024-01-15T11:03:00Z"
113
128
  ```
114
129
 
115
- ### `faros sources`
130
+ ### `faros sync linear`
131
+
132
+ Sync Linear issues, projects, teams, and users to Faros.
133
+
134
+ **Usage:**
135
+ ```bash
136
+ faros sync linear --linear-api-key <key> [options]
137
+ ```
138
+
139
+ **Options:**
140
+ - `--linear-api-key <key>` - Linear API key (or set `LINEAR_API_KEY` env var)
141
+ - `--cutoff-days <days>` - Fetch issues updated in the last N days (default: 90, or from config)
142
+ - `--page-size <size>` - Number of records per API call, 1-250 (default: 50)
143
+ - `--preview` - Show sync configuration without executing
116
144
 
117
- Manage data sources.
145
+ **Configuration Priority:**
146
+ 1. CLI options (`--linear-api-key`, `--cutoff-days`)
147
+ 2. Environment variables (`LINEAR_API_KEY`, `FAROS_API_KEY`, `FAROS_GRAPH`)
148
+ 3. Config file (`faros.config.yaml`)
149
+ 4. Defaults
118
150
 
119
- **Commands:**
120
- - `faros sources list` - List all configured sources
121
- - `faros sources get <name>` - Get source details
151
+ **Examples:**
122
152
 
123
- **Example:**
153
+ Using environment variables (recommended):
124
154
  ```bash
125
- $ faros sources list
155
+ export LINEAR_API_KEY=lin_api_xxx
156
+ export FAROS_API_KEY=your_faros_key
157
+ export FAROS_GRAPH=default
126
158
 
127
- Configured Sources:
159
+ faros sync linear
160
+ ```
128
161
 
129
- ┌────────┬────────┬────────┬────────────────────┐
130
- │ Source │ Type │ Status │ Config │
131
- ├────────┼────────┼────────┼────────────────────┤
132
- linear Linear │ ✓ │ Configured │
133
- github │ GitHub │ ✓ │ Configured │
134
- │ s3 │ S3 │ ⚠ │ Missing credentials│
135
- └────────┴────────┴────────┴────────────────────┘
162
+ Using CLI options:
163
+ ```bash
164
+ faros sync linear \
165
+ --linear-api-key lin_api_xxx \
166
+ --graph default
136
167
  ```
137
168
 
138
- ### `faros logs`
169
+ Using config file (`faros.config.yaml`):
170
+ ```yaml
171
+ # Never put API keys here - use environment variables!
172
+ url: https://prod.api.faros.ai
173
+ graph: default
174
+ origin: my-company-ci
139
175
 
140
- View sync logs and debug information.
176
+ sources:
177
+ linear:
178
+ cutoffDays: 30 # Fetch last 30 days
179
+ pageSize: 100 # Larger page size
180
+ ```
141
181
 
142
- **Usage:**
182
+ Then run:
143
183
  ```bash
144
- faros logs [options]
184
+ export LINEAR_API_KEY=lin_api_xxx
185
+ faros sync linear
145
186
  ```
146
187
 
147
- **Options:**
148
- - `--level <level>` - Filter by log level (info, warn, error, debug)
149
- - `--since <time>` - Show logs since time (ISO-8601)
150
- - `--until <time>` - Show logs until time (ISO-8601)
151
- - `--out-file <path>` - Export logs to file
188
+ Sync only recent issues (override config):
189
+ ```bash
190
+ faros sync linear --cutoff-days 7
191
+ ```
152
192
 
153
- **Examples:**
193
+ Preview configuration before syncing:
154
194
  ```bash
155
- # Recent logs
156
- faros logs
195
+ faros sync linear --preview
196
+ ```
157
197
 
158
- # Error logs only
159
- faros logs --level error
198
+ **What gets synced:**
199
+ - **Teams** - All teams in your Linear workspace
200
+ - **Projects** - All projects including leads and team assignments
201
+ - **Issues** - Issues updated within the cutoff period (default: 90 days)
202
+ - **Users** - All users in your workspace
160
203
 
161
- # Export logs
162
- faros logs --out-file sync-logs.json
204
+ **Requirements:**
205
+ - Docker must be running
206
+ - Linear API key with read permissions
207
+ - Faros API key and graph configured
163
208
 
164
- # Logs from specific time
165
- faros logs --since "2024-01-15T10:00:00Z"
166
- ```
209
+ **Notes:**
210
+ - Issues are filtered by update date using the `--cutoff-days` parameter
211
+ - The connector uses pagination to handle large datasets
212
+ - All timestamps and relationships are preserved
167
213
 
168
214
  ## Configuration
169
215
 
170
216
  The CLI uses a two-file configuration approach:
171
217
 
172
- ### 1. Credentials (`.env`)
218
+ ### Environment Variables
173
219
 
174
- Store sensitive credentials in a `.env` file (never commit this!):
220
+ The CLI can be configured entirely through environment variables, which is ideal for CI/CD pipelines where `.env` files are not available.
175
221
 
176
- ```bash
177
- # Required
178
- FAROS_API_KEY=your_faros_api_key_here
222
+ #### Required Environment Variables
179
223
 
180
- # Optional overrides
181
- FAROS_URL=https://prod.api.faros.ai
182
- FAROS_GRAPH=default
224
+ | Variable | Description | Example |
225
+ |----------|-------------|---------|
226
+ | `FAROS_API_KEY` | Faros API key (required for all operations) | `your_faros_api_key_here` |
227
+ | `LINEAR_API_KEY` | Linear API key (required for `faros sync linear`) | `lin_api_xxx` |
183
228
 
184
- # Data source credentials
185
- LINEAR_API_KEY=your_linear_api_key
186
- GITHUB_TOKEN=your_github_token
229
+ #### Optional Faros Configuration
187
230
 
188
- # AWS credentials (for S3 test results)
189
- AWS_ACCESS_KEY_ID=your_aws_access_key
190
- AWS_SECRET_ACCESS_KEY=your_aws_secret_key
191
- AWS_REGION=us-east-1
192
- ```
231
+ | Variable | Description | Default | Example |
232
+ |----------|-------------|---------|---------|
233
+ | `FAROS_URL` | Faros API URL | `https://prod.api.faros.ai` | `https://prod.api.faros.ai` |
234
+ | `FAROS_GRAPH` | Target graph name | `default` | `my-graph` |
235
+ | `FAROS_ORIGIN` | Origin identifier for synced data | - | `my-company-ci` |
193
236
 
194
- See `.env.example` for a complete template.
237
+ #### Logging and Debug
195
238
 
196
- ### 2. Configuration (`faros.config.yaml`)
239
+ | Variable | Description | Values | Default |
240
+ |----------|-------------|--------|---------|
241
+ | `FAROS_LOG_LEVEL` | Log level | `debug`, `info`, `warn`, `error` | `info` |
242
+ | `FAROS_DEBUG` | Enable debug mode | `true`, `false` | `false` |
243
+
244
+ ### Configuration File
197
245
 
198
246
  Store non-sensitive configuration in `faros.config.yaml`:
199
247
 
@@ -201,20 +249,8 @@ Store non-sensitive configuration in `faros.config.yaml`:
201
249
  # Faros API configuration
202
250
  url: https://prod.api.faros.ai
203
251
  graph: default
204
- stagingGraph: default-staging
205
252
  origin: my-company-ci
206
253
 
207
- # Data sources (credentials in .env)
208
- sources:
209
- linear:
210
- type: Linear
211
- syncInterval: 1h
212
- streams:
213
- - issues
214
- - projects
215
- - teams
216
- - users
217
-
218
254
  # Default values for commands
219
255
  defaults:
220
256
  testSource: Jenkins
@@ -235,6 +271,76 @@ Configuration is loaded in this order (highest priority first):
235
271
 
236
272
  **Config file search order**: `faros.config.yaml` → `faros.config.yml` → `faros.config.json` → `.farosrc.*`
237
273
 
274
+ ### CI/CD Environments
275
+
276
+ In CI/CD pipelines where `.env` files cannot be used, configure the CLI entirely through environment variables stored as secrets in your CI/CD platform.
277
+
278
+ #### Setting Up Environment Variables
279
+
280
+ **GitHub Actions:**
281
+ 1. Go to repository Settings → Secrets and variables → Actions
282
+ 2. Add `FAROS_API_KEY` as a repository secret
283
+ 3. Reference in workflows using `${{ secrets.FAROS_API_KEY }}`
284
+
285
+ **GitLab CI:**
286
+ 1. Go to Settings → CI/CD → Variables
287
+ 2. Add `FAROS_API_KEY` as a masked and protected variable
288
+ 3. Variables are automatically available in pipeline jobs
289
+
290
+ **Jenkins:**
291
+ 1. Go to Credentials → System → Global credentials
292
+ 2. Add secret text with ID `faros-api-key`
293
+ 3. Reference using `credentials('faros-api-key')`
294
+
295
+ **CircleCI:**
296
+ 1. Go to Project Settings → Environment Variables
297
+ 2. Add `FAROS_API_KEY`
298
+ 3. Variables are automatically available in jobs
299
+
300
+ **Bitbucket Pipelines:**
301
+ 1. Go to Repository settings → Pipelines → Repository variables
302
+ 2. Add `FAROS_API_KEY` as a secured variable
303
+ 3. Variables are automatically available in pipeline steps
304
+
305
+ #### Example: Minimal CI/CD Configuration
306
+
307
+ For most CI/CD use cases, only `FAROS_API_KEY` is required:
308
+
309
+ ```bash
310
+ # Set this as a secret in your CI/CD platform
311
+ FAROS_API_KEY=your_api_key_here
312
+
313
+ # Optional: Override defaults
314
+ FAROS_GRAPH=production
315
+ FAROS_URL=https://prod.api.faros.ai
316
+ ```
317
+
318
+ Then in your pipeline:
319
+
320
+ ```bash
321
+ # Environment variables are automatically picked up
322
+ faros sync tests test-results/*.xml \
323
+ --source "Jenkins" \
324
+ --commit "GitHub://myorg/myrepo/$COMMIT_SHA"
325
+ ```
326
+
327
+ #### Example: Full Configuration via Environment Variables
328
+
329
+ For advanced setups, all configuration can be provided via environment variables:
330
+
331
+ ```bash
332
+ # Required
333
+ FAROS_API_KEY=your_api_key_here
334
+
335
+ # Faros configuration
336
+ FAROS_URL=https://prod.api.faros.ai
337
+ FAROS_GRAPH=production
338
+ FAROS_ORIGIN=github-actions
339
+
340
+ # Logging
341
+ FAROS_LOG_LEVEL=info
342
+ ```
343
+
238
344
  ## Global Options
239
345
 
240
346
  All commands support these global options:
@@ -247,9 +353,9 @@ All commands support these global options:
247
353
  - `--json` - Output JSON (for scripting)
248
354
  - `--no-color` - Disable colors
249
355
 
250
- ## Dry Run & Validation
356
+ ## Validation
251
357
 
252
- The CLI supports three verification modes:
358
+ The CLI supports two verification modes before syncing to production:
253
359
 
254
360
  ### 1. `--validate` (Fast, Offline)
255
361
 
@@ -271,28 +377,7 @@ Would create:
271
377
  Run without --validate to sync to Faros
272
378
  ```
273
379
 
274
- ### 2. `--dry-run` (Full E2E, Staging Graph)
275
-
276
- Sync to a staging graph for full verification:
277
-
278
- ```bash
279
- faros sync tests *.xml --dry-run
280
- ```
281
-
282
- **Output:**
283
- ```
284
- ⚠ Dry-run mode: syncing to staging graph 'default-staging'
285
-
286
- Uploading |████████████████████| 100% | 24/24 suites
287
-
288
- ✓ Synced 24 test suites to staging graph
289
- Graph: default-staging
290
- View in Faros: https://app.faros.ai/default-staging/qa
291
-
292
- To sync to production, run without --dry-run
293
- ```
294
-
295
- ### 3. `--preview` (Sample Preview)
380
+ ### 2. `--preview` (Sample Preview)
296
381
 
297
382
  Show sample records that would be created:
298
383
 
@@ -314,11 +399,25 @@ qa_TestExecution:
314
399
  "stats": { "passed": 45, "failed": 0 }
315
400
  }
316
401
 
317
- Run with --dry-run to sync to staging
402
+ Run without --preview to sync to Faros
403
+ ```
404
+
405
+ **Testing with Different Environments:**
406
+
407
+ To sync to different environments or graphs, use the `FAROS_GRAPH` environment variable or the `-g/--graph` flag:
408
+
409
+ ```bash
410
+ # Sync to staging graph
411
+ FAROS_GRAPH=staging faros sync tests *.xml
412
+
413
+ # Or use the flag
414
+ faros sync tests *.xml --graph staging
318
415
  ```
319
416
 
320
417
  ## CI/CD Integration
321
418
 
419
+ The Faros CLI integrates seamlessly with CI/CD platforms using environment variables. Store `FAROS_API_KEY` as a secret in your CI/CD platform and reference it in your pipeline configuration.
420
+
322
421
  ### GitHub Actions
323
422
 
324
423
  ```yaml
@@ -348,6 +447,12 @@ environment {
348
447
  FAROS_API_KEY = credentials('faros-api-key')
349
448
  }
350
449
 
450
+ stage('Test') {
451
+ steps {
452
+ sh 'npm test'
453
+ }
454
+ }
455
+
351
456
  stage('Sync Results') {
352
457
  steps {
353
458
  sh '''
@@ -357,6 +462,123 @@ stage('Sync Results') {
357
462
  '''
358
463
  }
359
464
  }
465
+
466
+ stage('Report Build Status') {
467
+ steps {
468
+ sh '''
469
+ faros sync ci-cd build \
470
+ --status Success \
471
+ --commit "GitHub://org/repo/${GIT_COMMIT}" \
472
+ --run "Jenkins://org/pipeline/${BUILD_ID}"
473
+ '''
474
+ }
475
+ }
476
+ ```
477
+
478
+ ### GitLab CI
479
+
480
+ ```yaml
481
+ test:
482
+ stage: test
483
+ script:
484
+ - npm test
485
+ artifacts:
486
+ reports:
487
+ junit: test-results/*.xml
488
+
489
+ sync_results:
490
+ stage: deploy
491
+ script:
492
+ - npm install -g @faros-fde-sandbox/cli
493
+ - |
494
+ faros sync tests test-results/*.xml \
495
+ --source "GitLab-CI" \
496
+ --commit "GitLab://${CI_PROJECT_PATH}/${CI_COMMIT_SHA}"
497
+ variables:
498
+ FAROS_API_KEY: $FAROS_API_KEY
499
+ when: always
500
+
501
+ report_build:
502
+ stage: deploy
503
+ script:
504
+ - |
505
+ faros sync ci-cd build \
506
+ --status Success \
507
+ --commit "GitLab://${CI_PROJECT_PATH}/${CI_COMMIT_SHA}" \
508
+ --run "GitLab-CI://${CI_PROJECT_PATH}/${CI_PIPELINE_ID}"
509
+ variables:
510
+ FAROS_API_KEY: $FAROS_API_KEY
511
+ ```
512
+
513
+ ### CircleCI
514
+
515
+ ```yaml
516
+ version: 2.1
517
+
518
+ jobs:
519
+ test:
520
+ docker:
521
+ - image: cimg/node:18.0
522
+ steps:
523
+ - checkout
524
+ - run:
525
+ name: Run Tests
526
+ command: npm test
527
+ - store_test_results:
528
+ path: test-results
529
+ - run:
530
+ name: Sync Test Results to Faros
531
+ when: always
532
+ command: |
533
+ npx @faros-fde-sandbox/cli sync tests test-results/*.xml \
534
+ --source "CircleCI" \
535
+ --commit "GitHub://${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/${CIRCLE_SHA1}"
536
+ environment:
537
+ FAROS_API_KEY: ${FAROS_API_KEY}
538
+ - run:
539
+ name: Report Build Status
540
+ command: |
541
+ npx @faros-fde-sandbox/cli sync ci-cd build \
542
+ --status Success \
543
+ --commit "GitHub://${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/${CIRCLE_SHA1}" \
544
+ --run "CircleCI://${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/${CIRCLE_BUILD_NUM}"
545
+ environment:
546
+ FAROS_API_KEY: ${FAROS_API_KEY}
547
+
548
+ workflows:
549
+ test-and-sync:
550
+ jobs:
551
+ - test
552
+ ```
553
+
554
+ ### Bitbucket Pipelines
555
+
556
+ ```yaml
557
+ pipelines:
558
+ default:
559
+ - step:
560
+ name: Test
561
+ script:
562
+ - npm test
563
+ artifacts:
564
+ - test-results/**
565
+ - step:
566
+ name: Sync Results to Faros
567
+ script:
568
+ - npm install -g @faros-fde-sandbox/cli
569
+ - |
570
+ faros sync tests test-results/*.xml \
571
+ --source "Bitbucket-Pipelines" \
572
+ --commit "Bitbucket://${BITBUCKET_REPO_FULL_NAME}/${BITBUCKET_COMMIT}"
573
+ - |
574
+ faros sync ci-cd build \
575
+ --status Success \
576
+ --commit "Bitbucket://${BITBUCKET_REPO_FULL_NAME}/${BITBUCKET_COMMIT}" \
577
+ --run "Bitbucket-Pipelines://${BITBUCKET_REPO_FULL_NAME}/${BITBUCKET_BUILD_NUMBER}"
578
+ condition:
579
+ changesets:
580
+ includePaths:
581
+ - "**"
360
582
  ```
361
583
 
362
584
  ## URI Formats
@@ -411,6 +633,81 @@ npm test
411
633
  npm run lint
412
634
  ```
413
635
 
636
+ ### Testing
637
+
638
+ The CLI has comprehensive test coverage to ensure reliability:
639
+
640
+ ```bash
641
+ # Run all tests
642
+ npm test
643
+
644
+ # Run tests in watch mode
645
+ npm run test:watch
646
+
647
+ # Run tests with coverage report
648
+ npm run test:coverage
649
+
650
+ # Run tests with UI
651
+ npm run test:ui
652
+ ```
653
+
654
+ **Test Structure:**
655
+ - `src/**/*.test.ts` - Unit and integration tests alongside source files
656
+ - `test/fixtures/` - Sample test result files for various formats
657
+ - `test/utils/` - Test utilities and helpers
658
+
659
+ **Coverage Thresholds:**
660
+ - Core modules (config, API client, logger): >80% coverage
661
+ - Critical paths enforce per-file thresholds
662
+ - Overall project: >25% (command handlers require E2E testing)
663
+
664
+ **What's Tested:**
665
+ - ✅ Configuration loading and priority (CLI > env > file > defaults)
666
+ - ✅ API client with retry logic and error handling
667
+ - ✅ Logger with redaction of sensitive data
668
+ - ✅ Test result parsing (JUnit, TestNG, xUnit, Cucumber, Mocha)
669
+ - ✅ CI/CD event creation and validation
670
+ - ✅ URI format validation
671
+ - ✅ Validation and preview modes
672
+
673
+ **Continuous Integration:**
674
+ Tests run automatically on every push and pull request via GitHub Actions. Coverage reports are uploaded to Codecov.
675
+
676
+ **Test Result Syncing:**
677
+ Test results are automatically synced to Faros AI after every test run on the `main` branch. This provides observability into test health, trends, and failures over time. Results are synced using the CLI itself:
678
+
679
+ ```bash
680
+ faros sync tests test-results/junit.xml \
681
+ --source "GitHub-Actions" \
682
+ --type "Unit" \
683
+ --commit "GitHub://faros-fde/faros-cli/$COMMIT_SHA"
684
+ ```
685
+
686
+ View synced test results in the Faros UI under the `qa_TestExecution` model.
687
+
688
+ ### End-to-End Testing
689
+
690
+ E2E tests validate the full CLI workflow by actually syncing test results to Faros AI.
691
+
692
+ **Run E2E tests:**
693
+
694
+ ```bash
695
+ # Run E2E tests
696
+ FAROS_API_KEY=xxx ./scripts/e2e-test-sync.sh
697
+ ```
698
+
699
+ **What's tested:**
700
+ - ✅ Parsing test result files (JUnit, TestNG, Mocha)
701
+ - ✅ Data validation and transformation
702
+ - ✅ API communication with Faros
703
+ - ✅ Error handling and reporting
704
+
705
+ **See the full guide:** [docs/e2e-testing.md](docs/e2e-testing.md)
706
+
707
+ ### Publishing
708
+
709
+ See [PUBLISHING.md](PUBLISHING.md) for instructions on publishing new versions to npm.
710
+
414
711
  ## License
415
712
 
416
713
  Apache-2.0
@@ -1 +1 @@
1
- {"version":3,"file":"ci-cd.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/ci-cd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAoJ5C,wBAAgB,eAAe,IAAI,OAAO,CAqDzC"}
1
+ {"version":3,"file":"ci-cd.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/ci-cd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgHpC,wBAAgB,eAAe,IAAI,OAAO,CAmDzC"}