@teambit/harmony.content.cli-reference 2.0.6 → 2.0.7

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/cli-reference.mdx CHANGED
@@ -1,37 +1,47 @@
1
- ---
2
- id: cli-all
3
- title: CLI Commands
4
- ---
5
-
6
1
  # CLI Reference
7
2
 
8
- Commands that are marked as workspace only must be executed inside a workspace. Commands that are marked as not workspace only, can be executed from anywhere and will run on a remote server.
3
+ Run the following to list all available Bit commands (alternatively, use the `-h` alias, instead of `--help`):
4
+
5
+ ```sh
6
+ bit --help
7
+ ```
8
+
9
+ Run the following to get help on a specific command:
10
+
11
+ ```sh
12
+ bit COMMAND --help
13
+ ```
14
+
15
+ Run the following to get help on a specific sub-command:
16
+
17
+ ```sh
18
+ bit COMMAND SUB_COMMAND --help
19
+ ```
9
20
 
10
21
  ## add
11
22
 
12
23
  **Alias**: `a`
13
- **Workspace only**: yes
14
- **Description**: add any subset of files to be tracked as a component(s)
15
- all flags support glob patterns and {PARENT} {FILE_NAME} annotations
16
- https://bit.dev/reference/components/adding-components
24
+ **Description**: Add any subset of files to be tracked as a component(s).
25
+ Learn the recommended workflow for tracking directories as components, in the link below.
17
26
 
18
27
  `bit add [path...]`
19
28
 
20
- | **Option** | **Option alias** | **Description** |
21
- | ---------------------------------- | :--------------: | ---------------------------------------------------------------------------------------- |
22
- | `--id <name>` | `-i` | manually set component id |
23
- | `--main <file>` | `-m` | define entry point for the components |
24
- | `--tests <file>/"<file>,<file>"` | `-t` | specify test files to track. use quotation marks to list files or use a glob pattern |
25
- | `--namespace <namespace>` | `-n` | organize component in a namespace |
26
- | `--exclude <file>/"<file>,<file>"` | `-e` | exclude file from being tracked. use quotation marks to list files or use a glob pattern |
27
- | `--override <boolean>` | `-o` | override existing component if exists (default = false) |
29
+ | **Option** | **Option alias** | **Description** |
30
+ | ------------------------- | :--------------: | ----------------------------------------------------------------------------------------------- |
31
+ | `--id <name>` | `-i` | manually set component id |
32
+ | `--main <file>` | `-m` | define component entry point |
33
+ | `--namespace <namespace>` | `-n` | organize component in a namespace |
34
+ | `--override <boolean>` | `-o` | override existing component if exists (default = false) |
35
+ | `--scope <string>` | `-s` | sets the component's scope. if not entered, the default-scope from workspace.jsonc will be used |
36
+ | `--env <string>` | `-e` | set the component's environment. (overrides the env from variants if exists) |
37
+ | `--json` | `-j` | output as json format |
28
38
 
29
39
  ---
30
40
 
31
41
  ## app
32
42
 
33
- **Workspace only**: yes
34
- **Description**: manage applications
43
+ **Alias**: `apps`
44
+ **Description**: Manages apps
35
45
 
36
46
  `bit app <sub-command>`
37
47
 
@@ -39,23 +49,44 @@ Commands that are marked as workspace only must be executed inside a workspace.
39
49
 
40
50
  **Usage**: `app list`
41
51
 
42
- **Description**: list all registered applications
52
+ **Description**: list all registered apps
43
53
 
44
54
  | **Option** | **Option alias** | **Description** |
45
55
  | ---------- | :--------------: | ---------------------------------------- |
46
56
  | `--json` | `-j` | return the component data in json format |
47
57
 
58
+ ### app run
59
+
60
+ **Usage**: `app run <app-name>`
61
+
62
+ **Description**: locally run an app component (independent of bit's dev server)
63
+
64
+ | **Arg** | **Description** |
65
+ | ---------- | :--------------------------------------------------------------------------------------------------: |
66
+ | `app-name` | the app's name is registered by the app (run 'bit app list' to list the names of the available apps) |
67
+
68
+ | **Option** | **Option alias** | **Description** |
69
+ | ---------------------- | :--------------: | -------------------------------------------------------------------------- |
70
+ | `--dev` | `-d` | start the application in dev mode. |
71
+ | `--port [port-number]` | `-p` | port to run the app on |
72
+ | `--verbose` | `-v` | show verbose output for inspection and print stack trace |
73
+ | `--skip-watch` | | avoid running the watch process that compiles components in the background |
74
+ | `--ssr` | | run app in server side rendering mode. |
75
+
48
76
  ---
49
77
 
50
78
  ## artifacts
51
79
 
52
- **Workspace only**: yes
53
- **Description**: EXPERIMENTAL. list and download components artifacts.
80
+ **Description**: list and download component artifacts
54
81
  artifacts are created on isolated capsules during tag or snap commands.
55
82
  example of artifacts are dists files generated by a compiler, a JUnit.xml file generated by a tester
56
83
  and a package.tgz file generated by pkg aspect.
57
84
 
58
- `bit artifacts <pattern...>`
85
+ `bit artifacts <component-pattern>`
86
+
87
+ | **Arg** | **Description** |
88
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
89
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
59
90
 
60
91
  | **Option** | **Option alias** | **Description** |
61
92
  | ---------------------- | :--------------: | -------------------------------------------------------------------------------------------------------- |
@@ -68,8 +99,7 @@ and a package.tgz file generated by pkg aspect.
68
99
 
69
100
  ## aspect
70
101
 
71
- **Workspace only**: yes
72
- **Description**: EXPERIMENTAL. manage aspects
102
+ **Description**: manage aspects
73
103
 
74
104
  `bit aspect <sub-command>`
75
105
 
@@ -77,98 +107,112 @@ and a package.tgz file generated by pkg aspect.
77
107
 
78
108
  **Usage**: `aspect list [pattern]`
79
109
 
80
- **Description**: list all aspects configured on component(s)
81
- you can use a `<pattern>` for multiple component ids, such as `bit aspect list "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
82
- always wrap the pattern with quotes to avoid collision with shell commands.
83
- to validate the pattern before running this command, run `bit pattern <pattern>`.
110
+ **Description**: list all aspects configured on component(s)
111
+
112
+ | **Arg** | **Description** |
113
+ | --------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
114
+ | `pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
84
115
 
85
- | **Option** | **Option alias** | **Description** |
86
- | ---------- | :--------------: | ------------------------------------------------- |
87
- | `--debug` | `-d` | show the origins were the aspects were taken from |
116
+ | **Option** | **Option alias** | **Description** |
117
+ | ---------- | :--------------: | -------------------------------------------------- |
118
+ | `--debug` | `-d` | show the origins where the aspects were taken from |
88
119
 
89
120
  ### aspect get
90
121
 
91
- **Usage**: `aspect get <component-id>`
122
+ **Usage**: `aspect get <component-name>`
92
123
 
93
- **Description**: show aspects' data and configuration of the given component
124
+ **Description**: list the aspects set on a component, as well as their configs and data
94
125
 
95
- | **Option** | **Option alias** | **Description** |
96
- | ---------- | :--------------: | ------------------------------------------------- |
97
- | `--debug` | `-d` | show the origins were the aspects were taken from |
98
- | `--json` | `-j` | format as json |
126
+ | **Arg** | **Description** |
127
+ | ---------------- | :-----------------------------------------------------: |
128
+ | `component-name` | the component name or component id to fetch aspects for |
129
+
130
+ | **Option** | **Option alias** | **Description** |
131
+ | ---------- | :--------------: | -------------------------------------------------- |
132
+ | `--debug` | `-d` | show the origins where the aspects were taken from |
133
+ | `--json` | `-j` | format as json |
99
134
 
100
135
  ### aspect set
101
136
 
102
137
  **Usage**: `aspect set <pattern> <aspect-id> [config]`
103
138
 
104
- **Description**: set an aspect to component(s) with optional config.
105
- enter the config as stringified JSON (e.g. '{"foo":"bar"}' ).
106
- if no config entered, the aspect will be set with empty config ({}).
107
- you can use a `<pattern>` for multiple component ids, such as `bit aspect set "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
108
- always wrap the pattern with quotes to avoid collision with shell commands.
109
- to validate the pattern before running this command, run `bit pattern <pattern>`.
139
+ **Description**: set components with an aspect to extend their development tools, metadata and (possibly) artifacts
140
+
141
+ | **Arg** | **Description** |
142
+ | ----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
143
+ | `pattern` | the components to extend. component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
144
+ | `aspect-id` | the aspect's component id |
145
+ | `config` | the aspect config. enter the config as a stringified JSON (e.g. '{"foo":"bar"}' ). when no config is provided, an aspect is set with an empty config ({}). |
146
+
147
+ | **Option** | **Option alias** | **Description** |
148
+ | ---------- | :--------------: | ---------------------------------------------------------------------------------------------- |
149
+ | `--merge` | `-m` | merge with an existing config if exits. (by default, it replaces overlapping existing configs) |
110
150
 
111
151
  ### aspect unset
112
152
 
113
153
  **Usage**: `aspect unset <pattern> <aspect-id>`
114
154
 
115
- **Description**: unset an aspect from component(s).
116
- you can use a `<pattern>` for multiple component ids, such as `bit aspect unset "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
117
- always wrap the pattern with quotes to avoid collision with shell commands.
118
- to validate the pattern before running this command, run `bit pattern <pattern>`.
155
+ **Description**: unset an aspect from component(s).
156
+
157
+ | **Arg** | **Description** |
158
+ | ----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
159
+ | `pattern` | the components to target. component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
160
+ | `aspect-id` | the aspect's component id |
119
161
 
120
162
  ### aspect update
121
163
 
122
164
  **Usage**: `aspect update <aspect-id> [pattern]`
123
165
 
124
- **Description**: update a version of an aspect
125
- default to all components using the aspect, unless "pattern" is provided.
126
- you can use a `<pattern>` for multiple component ids, such as `bit aspect update <aspect-id> "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
127
- always wrap the pattern with quotes to avoid collision with shell commands.
128
- to validate the pattern before running this command, run `bit pattern <pattern>`.
166
+ **Description**: update a version of an aspect for all or specified components
129
167
 
130
- examples:
131
- "bit aspect update scope.org/aspect '**/ui/**'" - update "ui" components that use scope.org/aspect to the latest version
132
- "bit aspect update scope.org/aspect@2.0.0" - updates all components using scope.org/aspect to version 2.0.0.
168
+ | **Arg** | **Description** |
169
+ | ----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
170
+ | `aspect-id` | the aspect's component id. optionally, add a version (id@version), otherwise will use the latest version from the remote |
171
+ | `pattern` | the components to update (defaults to all components). component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
133
172
 
134
173
  ---
135
174
 
136
175
  ## build
137
176
 
138
- **Workspace only**: yes
139
- **Description**: run set of tasks for build
177
+ **Description**: run set of tasks for build.
178
+ by default, only new and modified components are built
179
+
180
+ `bit build [component-pattern]`
140
181
 
141
- `bit build [pattern]`
182
+ | **Arg** | **Description** |
183
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
184
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
142
185
 
143
- | **Option** | **Option alias** | **Description** |
144
- | ----------------------------------------------------------------------------------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------- |
145
- | `--all` | `-a` | build all components, not only modified and new |
146
- | `--dev` | `-d` | run the pipeline in dev mode |
147
- | `--install` | | install core aspects in capsules |
148
- | `--reuse-capsules` | | avoid deleting the capsules root-dir before starting the build |
149
- | `--tasks <string>` | | build the specified task(s) only. for multiple tasks, separate by a comma and wrap with quotes. |
150
- | specify the task-name (e.g. "TypescriptCompiler") or the task-aspect-id (e.g. teambit.compilation/compiler) |
151
- | `--cache-packages-on-capsule-root` | | set the package-manager cache on the capsule root |
152
- | `--list-tasks <string>` | | list tasks of an env or a component-id for each one of the pipelines: build, tag and snap |
186
+ | **Option** | **Option alias** | **Description** |
187
+ | ---------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
188
+ | `--all` | `-a` | DEPRECATED. use --unmodified |
189
+ | `--unmodified` | `-u` | include unmodified components (by default, only new and modified components are built) |
190
+ | `--dev` | `-d` | run the pipeline in dev mode |
191
+ | `--install` | | install core aspects in capsules |
192
+ | `--reuse-capsules` | | avoid deleting the capsules root-dir before starting the build |
193
+ | `--tasks <string>` | | build the specified task(s) only. for multiple tasks, separate by a comma and wrap with quotes. specify the task-name (e.g. "TypescriptCompiler") or the task-aspect-id (e.g. teambit.compilation/compiler) |
194
+ | `--cache-packages-on-capsule-root` | | set the package-manager cache on the capsule root |
195
+ | `--list-tasks <string>` | | list tasks of an env or a component-id for each one of the pipelines: build, tag and snap |
196
+ | `--skip-tests` | | skip running component tests during build process |
197
+ | `--fail-fast` | | stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed) |
153
198
 
154
199
  ---
155
200
 
156
201
  ## capsule
157
202
 
158
- **Workspace only**: yes
159
- **Description**: manage capsules.
160
- a capsule is a directory contains the component code, isolated from the workspace.
203
+ **Description**: manage capsules
204
+ a capsule is a directory containing the component code, isolated from the workspace.
161
205
  normally, capsules are created during the build process, the component files are copied and the packages are installed
162
206
  via the configured package-manager. the purpose is to compile/test them in isolation to make sure they will work for
163
207
  other users after publishing/exporting them.
164
208
 
165
- `bit capsule <sub-command>`
209
+ `bit capsule`
166
210
 
167
211
  ### capsule list
168
212
 
169
213
  **Usage**: `capsule list`
170
214
 
171
- **Description**: list all capsules
215
+ **Description**: list the capsules generated for this workspace
172
216
 
173
217
  | **Option** | **Option alias** | **Description** |
174
218
  | ---------- | :--------------: | --------------- |
@@ -176,9 +220,9 @@ other users after publishing/exporting them.
176
220
 
177
221
  ### capsule create
178
222
 
179
- **Usage**: `capsule create [componentIds...]`
223
+ **Usage**: `capsule create [component-id...]`
180
224
 
181
- **Description**: create capsules
225
+ **Description**: create capsules for components
182
226
 
183
227
  | **Option** | **Option alias** | **Description** |
184
228
  | -------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------- |
@@ -187,6 +231,7 @@ other users after publishing/exporting them.
187
231
  | `--always-new` | `-a` | create new environment for capsule |
188
232
  | `--seeders-only` | `-s` | create capsules for the seeders only (not for the entire graph) |
189
233
  | `--id <name>` | `-i` | reuse capsule of certain name |
234
+ | `--use-hash` | | whether to use hash function (of base dir) as capsules root dir name |
190
235
  | `--json` | `-j` | json format |
191
236
  | `--install-packages` | `-d` | install packages by the package-manager |
192
237
  | `--package-manager <name>` | `-p` | npm, yarn or pnpm, default to npm |
@@ -195,21 +240,29 @@ other users after publishing/exporting them.
195
240
 
196
241
  **Usage**: `capsule delete`
197
242
 
198
- **Description**: delete capsules. with no args, only workspace's capsules are deleted
243
+ **Description**: delete capsules
244
+ with no args, only workspace's capsules are deleted
199
245
 
200
246
  | **Option** | **Option alias** | **Description** |
201
247
  | ----------------- | :--------------: | ------------------------------------------------- |
202
248
  | `--scope-aspects` | | delete scope-aspects capsules |
203
249
  | `--all` | `-a` | delete all capsules for all workspaces and scopes |
204
250
 
251
+ | **Option** | **Option alias** | **Description** |
252
+ | ---------- | :--------------: | --------------- |
253
+ | `--json` | `-j` | json format |
254
+
205
255
  ---
206
256
 
207
257
  ## check-types
208
258
 
209
- **Workspace only**: yes
210
259
  **Description**: check typescript types
211
260
 
212
- `bit check-types [pattern]`
261
+ `bit check-types [component-pattern]`
262
+
263
+ | **Arg** | **Description** |
264
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
265
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
213
266
 
214
267
  | **Option** | **Option alias** | **Description** |
215
268
  | ---------- | :--------------: | --------------------------------------------------------- |
@@ -221,43 +274,44 @@ other users after publishing/exporting them.
221
274
  ## checkout
222
275
 
223
276
  **Alias**: `U`
224
- **Workspace only**: yes
225
- **Description**: switch between component versions or remove local changes
226
- `bit checkout <version> [ids...]` => checkout the specified ids (or all components when --all is used) to the specified version
227
- `bit checkout latest [ids...]` => checkout the specified ids (or all components when --all is used) to their latest versions
228
- `bit checkout [ids...] --reset` => remove local modifications from the specified ids (or all components when --all is used)
229
- you can use a pattern for multiple ids, such as bit checkout 0.0.1 "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
230
-
231
- `bit checkout [values...]`
232
-
233
- | **Option** | **Option alias** | **Description** |
234
- | -------------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------- |
235
- | `--interactive-merge` | `-i` | when a component is modified and the merge process found conflicts, display options to resolve them |
236
- | `--ours` | `-o` | in case of a conflict, override the used version with the current modification |
237
- | `--theirs` | `-t` | in case of a conflict, override the current modification with the specified version |
238
- | `--manual` | `-m` | in case of a conflict, leave the files with a conflict state to resolve them manually later |
239
- | `--reset` | `-r` | remove local changes |
240
- | `--all` | `-a` | all components |
241
- | `--verbose` | `-v` | showing verbose output for inspection |
242
- | `--skip-npm-install` | | DEPRECATED. use "--skip-dependency-installation" instead |
243
- | `--skip-dependency-installation` | | do not install packages of the imported components |
244
- | `--ignore-package-json` | | do not generate package.json for the imported component(s). (it automatically enables skip-npm-install and save-dependencies-as-components flags) |
245
- | `--conf [path]` | | write the configuration file (bit.json) and the envs configuration files (use --conf without path to write to the default dir) |
246
- | `--ignore-dist` | | do not write dist files (when exist) |
277
+ **Description**: switch between component versions or remove local changes
278
+
279
+ `bit checkout <version> [component-pattern]` => checkout the specified ids (or all components when --all is used) to the specified version
280
+ `bit checkout head [component-pattern]` => checkout to the last snap/tag (use --latest if you only want semver tags), omit [component-pattern] to checkout head for all
281
+ `bit checkout latest [component-pattern]` => checkout to the latest satisfying semver tag, omit [component-pattern] to checkout latest for all
282
+ `bit checkout reset [component-pattern]` => remove local modifications from the specified ids (or all components when --all is used)
283
+
284
+ `bit checkout <to> [component-pattern]`
285
+
286
+ | **Arg** | **Description** |
287
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
288
+ | `to` | permitted values: [head, latest, reset, specific-version]. 'head' - last snap/tag. 'latest' - semver latest tag. 'reset' - removes local changes |
289
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
290
+
291
+ | **Option** | **Option alias** | **Description** |
292
+ | --------------------------------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------- |
293
+ | `--interactive-merge` | `-i` | when a component is modified and the merge process found conflicts, display options to resolve them |
294
+ | `--ours` | | DEPRECATED. use --auto-merge-resolve. In the future, this flag will leave the current code intact |
295
+ | `--theirs` | | DEPRECATED. use --auto-merge-resolve. In the future, this flag will override the current code with the incoming code |
296
+ | `--manual` | | DEPRECATED. use --auto-merge-resolve |
297
+ | `--auto-merge-resolve <merge-strategy>` | | in case of merge conflict, resolve according to the provided strategy: [ours, theirs, manual] |
298
+ | `--reset` | `-r` | revert changes that were not snapped/tagged |
299
+ | `--all` | `-a` | all components |
300
+ | `--workspace-only` | `-e` | only relevant for 'bit checkout head' when on a lane. don't import components from the remote lane that are not already in the workspace |
301
+ | `--verbose` | `-v` | showing verbose output for inspection |
302
+ | `--skip-dependency-installation` | `-x` | do not auto-install dependencies of the imported components |
247
303
 
248
304
  ---
249
305
 
250
306
  ## clear-cache
251
307
 
252
308
  **Alias**: `cc`
253
- **Workspace only**: no
254
309
  **Description**: clears Bit's cache from current working machine
255
310
  The following gets removed by this command:
256
311
 
257
312
  1. V8 compiled code (generated the first time Bit is loaded by v8-compile-cache package)
258
- 2. components cache on the filesystem (mainly the dependencies graph and reference)
259
- 3. scope's index file, which maps the component-id:object-hash
260
- https://bit.dev/reference/workspace/clearing-cache
313
+ 2. components cache on the filesystem (mainly the dependencies graph and docs)
314
+ 3. scope's index file, which maps the component-id:object-hash
261
315
 
262
316
  `bit clear-cache`
263
317
 
@@ -269,7 +323,6 @@ The following gets removed by this command:
269
323
 
270
324
  ## cli
271
325
 
272
- **Workspace only**: yes
273
326
  **Description**: EXPERIMENTAL. enters bit cli program and generates commands list
274
327
 
275
328
  `bit cli`
@@ -278,20 +331,25 @@ The following gets removed by this command:
278
331
 
279
332
  **Usage**: `cli generate`
280
333
 
281
- **Description**: EXPERIMENTAL. generate an .md file with all commands details
334
+ **Description**: generate an .md file with all commands details
282
335
 
283
336
  | **Option** | **Option alias** | **Description** |
284
337
  | ------------ | :--------------: | ------------------------------------------------------------------------------------------------------------------------------ |
285
338
  | `--metadata` | | metadata/front-matter to place at the top of the .md file, enter as an object e.g. --metadata.id=cli --metadata.title=commands |
339
+ | `--docs` | | generate the cli-reference.docs.mdx file |
340
+ | `--json` | `-j` | output the commands info as JSON |
286
341
 
287
342
  ---
288
343
 
289
344
  ## compile
290
345
 
291
- **Workspace only**: yes
292
- **Description**: compile components in the development workspace
346
+ **Description**: compile components in the workspace
347
+
348
+ `bit compile [component-names...]`
293
349
 
294
- `bit compile [component...]`
350
+ | **Arg** | **Description** |
351
+ | -------------------- | :---------------------------------------------------------------------: |
352
+ | `component-names...` | a list of component names or component IDs (defaults to all components) |
295
353
 
296
354
  | **Option** | **Option alias** | **Description** |
297
355
  | ------------------- | :--------------: | ------------------------------------------------------------- |
@@ -304,31 +362,16 @@ The following gets removed by this command:
304
362
 
305
363
  ## completion
306
364
 
307
- **Workspace only**: yes
308
365
  **Description**: enable bash/zsh-completion shortcuts for commands and options
309
366
 
310
367
  `bit completion`
311
368
 
312
369
  ---
313
370
 
314
- ## component-issues
315
-
316
- **Workspace only**: yes
317
- **Description**: list available component-issues
318
-
319
- `bit component-issues`
320
-
321
- | **Option** | **Option alias** | **Description** |
322
- | ---------- | :--------------: | --------------- |
323
- | `--json` | `-j` | json format |
324
-
325
- ---
326
-
327
371
  ## config
328
372
 
329
- **Workspace only**: yes
330
- **Description**: global config management.
331
- https://bit.dev/reference/config/bit-config
373
+ **Description**: global config management
374
+ https://https://bit.dev//reference/config/bit-config
332
375
 
333
376
  `bit config`
334
377
 
@@ -336,7 +379,9 @@ The following gets removed by this command:
336
379
 
337
380
  **Usage**: `config set <key> <val>`
338
381
 
339
- **Description**: set a global configuration
382
+ **Description**: set a global configuration
383
+ to set temporary configuration by env variable, prefix with "BIT*CONFIG", replace "." with "*" and change to upper case.
384
+ for example, "user.token" becomes "BIT_CONFIG_USER_TOKEN"
340
385
 
341
386
  ### config del
342
387
 
@@ -348,7 +393,7 @@ The following gets removed by this command:
348
393
 
349
394
  **Usage**: `config get <key>`
350
395
 
351
- **Description**: get a global configuration
396
+ **Description**: get a value from global configuration
352
397
 
353
398
  ### config list
354
399
 
@@ -360,132 +405,269 @@ The following gets removed by this command:
360
405
 
361
406
  ## create
362
407
 
363
- **Workspace only**: yes
364
- **Description**: create a new component from a template
408
+ **Description**: create a new component (source files and config) using a template.
409
+
410
+ `bit create <template-name> <component-names...>`
365
411
 
366
- `bit create <templateName> <componentNames...>`
412
+ | **Arg** | **Description** |
413
+ | -------------------- | :-----------------------------------------------------------------------------------------------: |
414
+ | `template-name` | the template for generating the component (run 'bit templates' for a list of available templates) |
415
+ | `component-names...` | a list of component names to generate |
367
416
 
368
417
  | **Option** | **Option alias** | **Description** |
369
418
  | ---------------------- | :--------------: | ----------------------------------------------------------------------------------- |
370
419
  | `--namespace <string>` | `-n` | sets the component's namespace and nested dirs inside the scope |
371
420
  | `--scope <string>` | `-s` | sets the component's scope-name. if not entered, the default-scope will be used |
372
421
  | `--aspect <string>` | `-a` | aspect-id of the template. helpful when multiple aspects use the same template name |
422
+ | `--template <string>` | `-t` | env-id of the template. alias for --aspect. |
373
423
  | `--path <string>` | `-p` | relative path in the workspace. by default the path is `<scope>/<namespace>/<name>` |
374
424
  | `--env <string>` | `-e` | set the component's environment. (overrides the env from variants and the template) |
375
425
 
376
426
  ---
377
427
 
378
- ## dependencies
428
+ ## delete
379
429
 
380
- **Workspace only**: yes
381
- **Description**: EXPERIMENTAL. show dependencies (direct and indirect) of the given component
430
+ **Description**: mark components as deleted on the remote
431
+ to remove components from your local workspace only, use "bit remove" command.
432
+ this command marks the components as deleted, and after snap/tag and export they will be marked as deleted from the remote scope as well.
382
433
 
383
- `bit dependencies <id>`
434
+ `bit delete <component-pattern>`
384
435
 
385
- | **Option** | **Option alias** | **Description** |
386
- | ---------- | :--------------: | -------------------------------------------------------------------- |
387
- | `--debug` | `-d` | show the immediate dependencies and how their version was determined |
436
+ | **Arg** | **Description** |
437
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
438
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
439
+
440
+ | **Option** | **Option alias** | **Description** |
441
+ | --------------- | :--------------: | -------------------------------------------------------------------------------------------------------------------------------------- |
442
+ | `--lane` | | when on a lane, delete the component from this lane only. avoid merging it to main or other lanes |
443
+ | `--update-main` | | EXPERIMENTAL. delete component/s on the main lane after merging this lane into main |
444
+ | `--force` | `-f` | removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt |
445
+ | `--silent` | `-s` | skip confirmation |
446
+ | `--hard` | | NOT-RECOMMENDED. delete a component completely from a remote scope. careful! this is a permanent change that could corrupt dependents. |
388
447
 
389
448
  ---
390
449
 
391
450
  ## dependents
392
451
 
393
- **Workspace only**: yes
394
- **Description**: EXPERIMENTAL. show dependents of the given component
452
+ **Description**: show dependents of the given component
395
453
 
396
- `bit dependents <id>`
454
+ `bit dependents <component-name>`
397
455
 
398
456
  ---
399
457
 
400
458
  ## deprecate
401
459
 
402
460
  **Alias**: `d`
403
- **Workspace only**: no
404
461
  **Description**: deprecate a component
405
462
 
406
- `bit deprecate <id>`
463
+ `bit deprecate <component-name>`
464
+
465
+ | **Arg** | **Description** |
466
+ | ---------------- | :----------------------------: |
467
+ | `component-name` | component name or component id |
407
468
 
408
- | **Option** | **Option alias** | **Description** |
409
- | ------------------- | :--------------: | ------------------------------------------------------------ |
410
- | `--new-id <string>` | | if replaced by another component, enter the new component id |
469
+ | **Option** | **Option alias** | **Description** |
470
+ | ------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------------- |
471
+ | `--new-id <string>` | | if replaced by another component, enter the new component id. alternatively use "bit rename" to do this automatically |
472
+
473
+ ---
474
+
475
+ ## deps
476
+
477
+ **Alias**: `dependencies`
478
+ **Description**: manage dependencies
479
+
480
+ `bit deps <sub-command>`
481
+
482
+ ### deps get
483
+
484
+ **Usage**: `deps get <component-name>`
485
+
486
+ **Description**: show direct and indirect dependencies of the given component
487
+
488
+ | **Arg** | **Description** |
489
+ | ---------------- | :----------------------------: |
490
+ | `component-name` | component name or component id |
491
+
492
+ | **Option** | **Option alias** | **Description** |
493
+ | ---------- | :--------------: | ---------------------------------------------------------------- |
494
+ | `--tree` | `-t` | EXPERIMENTAL. render dependencies as a tree, similar to "npm ls" |
495
+
496
+ ### deps remove
497
+
498
+ **Usage**: `deps remove <component-pattern> <package...>`
499
+
500
+ **Description**: remove a dependency to component(s)
501
+
502
+ | **Arg** | **Description** |
503
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
504
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
505
+ | `package...` | package name with or without a version, e.g. "lodash@1.0.0" or just "lodash" which will remove all lodash instances of any version |
506
+
507
+ | **Option** | **Option alias** | **Description** |
508
+ | ---------- | :--------------: | ---------------------------- |
509
+ | `--dev` | `-d` | remove from devDependencies |
510
+ | `--peer` | `-p` | remove from peerDependencies |
511
+
512
+ ### deps unset
513
+
514
+ **Usage**: `deps unset <component-pattern> <package...>`
515
+
516
+ **Description**: unset a dependency to component(s) that was previously set by "bit deps set"
517
+
518
+ | **Arg** | **Description** |
519
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
520
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
521
+ | `package...` | package name with or without a version, e.g. "lodash@1.0.0" or just "lodash" which will remove all lodash instances of any version |
522
+
523
+ | **Option** | **Option alias** | **Description** |
524
+ | ---------- | :--------------: | --------------------------- |
525
+ | `--dev` | `-d` | unset from devDependencies |
526
+ | `--peer` | `-p` | unset from peerDependencies |
527
+
528
+ ### deps debug
529
+
530
+ **Usage**: `deps debug <component-name>`
531
+
532
+ **Description**: show the immediate dependencies and how their versions were determined
533
+
534
+ | **Arg** | **Description** |
535
+ | ---------------- | :----------------------------: |
536
+ | `component-name` | component name or component id |
537
+
538
+ ### deps set
539
+
540
+ **Usage**: `deps set <component-pattern> <package...>`
541
+
542
+ **Description**: set a dependency to component(s)
543
+
544
+ | **Arg** | **Description** |
545
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
546
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
547
+ | `package...` | package name with or without a version, e.g. "lodash@1.0.0" or just "lodash" which will be resolved to the latest |
548
+
549
+ | **Option** | **Option alias** | **Description** |
550
+ | ---------- | :--------------: | --------------------------- |
551
+ | `--dev` | `-d` | add to the devDependencies |
552
+ | `--peer` | `-p` | add to the peerDependencies |
553
+
554
+ ### deps reset
555
+
556
+ **Usage**: `deps reset <component-pattern>`
557
+
558
+ **Description**: reset dependencies to the default values (revert any previously "bit deps set")
559
+
560
+ | **Arg** | **Description** |
561
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
562
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
563
+
564
+ ### deps eject
565
+
566
+ **Usage**: `deps eject <component-pattern>`
567
+
568
+ **Description**: write dependencies that were previously set via "bit deps set" into .bitmap
569
+
570
+ | **Arg** | **Description** |
571
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
572
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
573
+
574
+ ### deps blame
575
+
576
+ **Usage**: `deps blame <component-name> <dependency-name>`
577
+
578
+ **Description**: EXPERIMENTAL. find out which snap/tag changed a dependency version
579
+
580
+ | **Arg** | **Description** |
581
+ | ----------------- | :---------------------------------------------------------------------------: |
582
+ | `dependency-name` | package-name. for components, you can use either component-id or package-name |
583
+
584
+ ### deps usage
585
+
586
+ **Usage**: `deps usage <dependency-name>`
587
+
588
+ **Description**: EXPERIMENTAL. find components that use the specified dependency
589
+
590
+ | **Arg** | **Description** |
591
+ | ----------------- | :------------------------------------------------------------------------------------------------------------------------------------------: |
592
+ | `dependency-name` | package-name. for components, you can use either component-id or package-name. if version is specified, it will search for the exact version |
411
593
 
412
594
  ---
413
595
 
414
596
  ## diff
415
597
 
416
- **Workspace only**: yes
417
- **Description**: show diff between components files
418
- bit diff => compare all modified components to their model version
419
- bit diff [ids...] => compare the specified components against their modified states
420
- bit diff [id] [version] => compare the specified version to used or modified files
421
- bit diff [id] [version] [to_version] => compare the specified version files to to_version files
422
- you can use a pattern for multiple ids, such as bit diff "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
598
+ **Description**: show the diff between the components' current source files and config, and their latest snapshot or tag
599
+ bit diff => compare all modified components to their model version
600
+ bit diff [ids...] => compare the specified components against their modified states
601
+ bit diff [id] [version] => compare component's current files and configs to the specified version of the component
602
+ bit diff [id] [version] [to_version] => compare component's files and configs between the specified version and the to_version provided
603
+ you can use a pattern for multiple ids, such as bit diff "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
423
604
 
424
605
  `bit diff [values...]`
425
606
 
426
607
  | **Option** | **Option alias** | **Description** |
427
608
  | ----------- | :--------------: | ------------------------------------------------------- |
428
- | `--verbose` | `-v` | show a more verbose output when possible |
609
+ | `--verbose` | `-v` | show a more verbose output where possible |
429
610
  | `--table` | `-t` | show tables instead of plain text for dependencies diff |
430
611
 
431
612
  ---
432
613
 
433
614
  ## doctor
434
615
 
435
- **Workspace only**: yes
436
616
  **Description**: diagnose a bit workspace
437
617
 
438
618
  `bit doctor [diagnosis-name]`
439
619
 
440
- | **Option** | **Option alias** | **Description** |
441
- | ------------------- | :--------------: | ------------------------------- |
442
- | `--json` | `-j` | return diagnoses in json format |
443
- | `--list` | | list all available diagnoses |
444
- | `--save [filePath]` | `-s` | save diagnoses to a file |
620
+ | **Option** | **Option alias** | **Description** |
621
+ | ---------------------- | :--------------: | ---------------------------------------------- |
622
+ | `--json` | `-j` | return diagnoses in json format |
623
+ | `--list` | | list all available diagnoses |
624
+ | `--save [filePath]` | `-s` | save diagnoses to a file |
625
+ | `--archive [filePath]` | `-a` | archive the workspace including diagnosis info |
445
626
 
446
627
  ---
447
628
 
448
629
  ## eject
449
630
 
450
631
  **Alias**: `E`
451
- **Workspace only**: yes
452
- **Description**: replaces the components from the local scope with the corresponding packages
453
- you can use a `<pattern>` for multiple component ids, such as `bit eject "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
454
- always wrap the pattern with quotes to avoid collision with shell commands.
455
- to validate the pattern before running this command, run `bit pattern <pattern>`.
632
+ **Description**: remove component from the workspace and install it instead as a regular npm package.
633
+ By default the component files will be removed from the workspace
456
634
 
457
- `bit eject <pattern>`
635
+ `bit eject <component-pattern>`
458
636
 
459
- | **Option** | **Option alias** | **Description** |
460
- | -------------- | :--------------: | --------------------------------------------------------------------------------- |
461
- | `--force` | `-f` | ignore local version. remove the components even when they are staged or modified |
462
- | `--json` | `-j` | print the results in JSON format |
463
- | `--keep-files` | | keep the component files in the workspace intact |
637
+ | **Arg** | **Description** |
638
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
639
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
640
+
641
+ | **Option** | **Option alias** | **Description** |
642
+ | -------------- | :--------------: | -------------------------------------------------------------------------------------------------------------------------------- |
643
+ | `--force` | `-f` | ignore local changes/versions. eject component/s even when they are staged or modified. Note: unexported tags/snaps will be lost |
644
+ | `--json` | `-j` | print the results in JSON format |
645
+ | `--keep-files` | | keep the component files in the workspace intact |
464
646
 
465
647
  ---
466
648
 
467
649
  ## eject-conf
468
650
 
469
- **Workspace only**: yes
470
651
  **Description**: eject components configuration (create a `component.json` file)
471
- you can use a `<pattern>` for multiple component ids, such as `bit eject-conf "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
472
- always wrap the pattern with quotes to avoid collision with shell commands.
473
- to validate the pattern before running this command, run `bit pattern <pattern>`.
652
+ note this can be reversed at any time by snapping/tagging changes and deleting the component.json file
653
+ you can use a `<pattern>` for multiple component ids, such as `bit eject-conf "org.scope/utils/**"`.
654
+ use comma to separate patterns and '!' to exclude. e.g. 'ui/\*\*, !ui/button'
655
+ always wrap the pattern with single quotes to avoid collision with shell commands.
656
+ use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.
474
657
 
475
658
  `bit eject-conf <pattern>`
476
659
 
477
- | **Option** | **Option alias** | **Description** |
478
- | ------------- | :--------------: | -------------------------------------- |
479
- | `--propagate` | `-p` | mark propagate true in the config file |
480
- | `--override` | `-o` | override file if exist |
660
+ | **Option** | **Option alias** | **Description** |
661
+ | ------------- | :--------------: | ----------------------------------------------------------------------------------------------------------- |
662
+ | `--propagate` | `-p` | mark propagate true in the config file, so that component.json configs will be merge with workspace configs |
663
+ | `--override` | `-o` | override file if exist |
481
664
 
482
665
  ---
483
666
 
484
667
  ## envs
485
668
 
486
669
  **Alias**: `env`
487
- **Workspace only**: yes
488
- **Description**: list all components envs
670
+ **Description**: list all components maintained by the workspace and their corresponding envs
489
671
 
490
672
  `bit envs`
491
673
 
@@ -493,88 +675,129 @@ to validate the pattern before running this command, run `bit pattern <pattern>`
493
675
 
494
676
  **Usage**: `envs list`
495
677
 
496
- **Description**: list all envs available in the workspace
678
+ **Description**: list all envs currently used in the workspace
497
679
 
498
680
  ### envs get
499
681
 
500
- **Usage**: `envs get <name>`
682
+ **Usage**: `envs get <component-name>`
683
+
684
+ **Description**: show config information from a component's env
685
+
686
+ | **Arg** | **Description** |
687
+ | ---------------- | :-------------------------------------------------------------------------------------: |
688
+ | `component-name` | the 'component name' or 'component id' of the component whose env you'd like to inspect |
501
689
 
502
- **Description**: show component's env details
690
+ | **Option** | **Option alias** | **Description** |
691
+ | --------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------ |
692
+ | `--services <string>` | | show information about the specific services only. for multiple services, separate by a comma and wrap with quotes |
503
693
 
504
694
  ### envs set
505
695
 
506
- **Usage**: `envs set <pattern> <env>`
696
+ **Usage**: `envs set <component-pattern> <env>`
507
697
 
508
- **Description**: set an environment for component(s)
509
- you can use a `<pattern>` for multiple component ids, such as `bit env set "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
510
- always wrap the pattern with quotes to avoid collision with shell commands.
511
- to validate the pattern before running this command, run `bit pattern <pattern>`.
698
+ **Description**: Assigns one or more components a development environment (env)
699
+
700
+ | **Arg** | **Description** |
701
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
702
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
703
+ | `env` | the env's component id (include version if not latest, e.g `teambit.community/envs/community-react@1.95.13`) |
512
704
 
513
705
  ### envs unset
514
706
 
515
- **Usage**: `envs unset <component>`
707
+ **Usage**: `envs unset <component-pattern>`
708
+
709
+ **Description**: un-sets an env from components that were previously set by "bit env set" or by a component template
710
+ keep in mind that this doesn't remove envs that are set via variants.
711
+ in only removes envs that appear in the .bitmap file, which were previously configured via "bit env set".
712
+ the purpose of this command is to reset previously assigned envs to either allow variants configure the env or use the base node env.
713
+ you can use a `<pattern>` for multiple component ids, such as `bit env unset "org.scope/utils/**"`.
714
+ use comma to separate patterns and '!' to exclude. e.g. 'ui/\*\*, !ui/button'
715
+ always wrap the pattern with single quotes to avoid collision with shell commands.
716
+ use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.
516
717
 
517
- **Description**: unset an environment from component(s)
518
- you can use a `<pattern>` for multiple component ids, such as `bit env unset "org.scope/utils/**"`. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button"
519
- always wrap the pattern with quotes to avoid collision with shell commands.
520
- to validate the pattern before running this command, run `bit pattern <pattern>`.
718
+ | **Arg** | **Description** |
719
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
720
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
521
721
 
522
722
  ### envs replace
523
723
 
524
- **Usage**: `envs replace <old-env> <new-env>`
724
+ **Usage**: `envs replace <current-env> <new-env>`
525
725
 
526
726
  **Description**: replace an existing env with another env for all components using the old env
527
727
 
728
+ | **Arg** | **Description** |
729
+ | ------------- | :----------------------------------------: |
730
+ | `current-env` | the component id of the env to be replaced |
731
+ | `new-env` | the component id of the new env |
732
+
733
+ ### envs update
734
+
735
+ **Usage**: `envs update [env-id] [pattern]`
736
+
737
+ **Description**: update a version of an env for all components using that env
738
+
739
+ | **Arg** | **Description** |
740
+ | --------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
741
+ | `env-id` | the environment id (defaults to all envs). optionally, add a version (id@version), if no version is supplied will use the latest version on the remote. |
742
+ | `pattern` | the components to update (defaults to all components). component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
743
+
528
744
  ---
529
745
 
530
746
  ## export
531
747
 
532
748
  **Alias**: `e`
533
- **Workspace only**: yes
534
- **Description**: export components to a remote scope.
535
- bit export => export all staged components to their current scope, if checked out to a lane, export the lane as well
536
- `bit export [id...]` => export the given ids to their current scope
749
+ **Description**: export components from the workspace to remote scopes
750
+ bit export => export all staged snaps/tags of components to their remote scope. if checked out to a lane, export the lane as well
751
+ `bit export [pattern...]` => export components included by the pattern to their remote scope (we recommend not using a pattern in
752
+ most scenarios so that all changes are exported simultaneously)
753
+ you can use a pattern for multiple ids, such as bit export "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
537
754
 
538
- https://bit.dev/reference/components/exporting-components
539
- you can use a pattern for multiple ids, such as bit export remote-scope "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
755
+ `bit export [component-patterns...]`
540
756
 
541
- `bit export [remote] [id...]`
757
+ | **Arg** | **Description** |
758
+ | ----------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
759
+ | `component-patterns...` | (not recommended) component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
542
760
 
543
761
  | **Option** | **Option alias** | **Description** |
544
762
  | ---------------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------------------------------- |
545
- | `--eject` | `-e` | replaces the exported components from the local scope with the corresponding packages |
546
- | `--all` | `-a` | export all components include non-staged |
547
- | `--include-dependencies` | `-d` | LEGACY ONLY. include the component's dependencies as part of the export to the remote scope |
548
- | `--set-current-scope` | `-s` | LEGACY ONLY. ensure the component's remote scope is set according to the target location |
549
- | `--rewire` | `-r` | LEGACY ONLY. when exporting to a different or new scope, replace import/require statements in the source code to match the new scope |
550
- | `--force` | `-f` | force changing a component remote without asking for a confirmation |
551
- | `--all-versions` | | export not only staged versions but all of them |
552
- | `--origin-directly` | | HARMONY ONLY. avoid export to the central hub, instead, export directly to the original scopes. not recommended! |
763
+ | `--eject` | `-e` | remove component from the workspace and install it instead as a regular npm package |
764
+ | `--all` | `-a` | export all components, including non-staged (useful when components in the remote scope are corrupted or missing) |
765
+ | `--all-versions` | | export not only staged versions but all of them (useful when versions in the remote scope are corrupted or missing) |
766
+ | `--origin-directly` | | EXPERIMENTAL. avoid export to the central hub, instead, export directly to the original scopes. not recommended! |
553
767
  | `--resume <string>` | | in case the previous export failed and suggested to resume with an export-id, enter the id |
554
768
  | `--ignore-missing-artifacts` | | EXPERIMENTAL. don't throw an error when artifact files are missing. not recommended, unless you're sure the artifacts are in the remote |
769
+ | `--fork-lane-new-scope` | | allow exporting a forked lane into a different scope than the original scope |
770
+ | `--json` | `-j` | show output in json format |
555
771
 
556
772
  ---
557
773
 
558
774
  ## fork
559
775
 
560
- **Workspace only**: no
561
- **Description**: EXPERIMENTAL. create a new component out of an existing one
562
- note that [target-name] is the name only without the scope.
563
- to set the default-scope, please use --scope flag
776
+ **Description**: create a new component forked from an existing one (copies source files and configs)
564
777
 
565
- `bit fork <source-id> [target-name]`
778
+ `bit fork <source-component-id> [target-component-name]`
566
779
 
567
- | **Option** | **Option alias** | **Description** |
568
- | ------------------ | :--------------: | ----------------------------------------------------------------------------------------------- |
569
- | `--scope <string>` | `-s` | default scope for the newly created component |
570
- | `--path <string>` | `-p` | relative path in the workspace. by default the path is `<scope>/<namespace>/<name>` |
571
- | `--refactor` | `-r` | change the source code of all components using the original component with the new package-name |
780
+ | **Arg** | **Description** |
781
+ | ----------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------: |
782
+ | `source-component-id` | the component id of the source component |
783
+ | `target-component-name` | the name for the new component (component name without scope, e.g. name/spaces/my-button). to set a different scope, use the '--scope' flag |
784
+
785
+ | **Option** | **Option alias** | **Description** |
786
+ | -------------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------- |
787
+ | `--scope <string>` | `-s` | default scope for the new component |
788
+ | `--path <string>` | `-p` | relative path in the workspace for the new component. by default the path is `<scope>/<namespace>/<name>` |
789
+ | `--refactor` | `-r` | update the import/require statements in all dependent components (in the same workspace) |
790
+ | `--skip-dependency-installation` | `-x` | do not install packages of the imported components |
791
+ | `--env <string>` | `-e` | set the environment for the new component |
792
+ | `--skip-config` | | do not copy the config (aspects-config, env, etc) to the new component. helpful when it fails during aspect loading |
793
+ | `--preserve` | | avoid refactoring file and variable/class names according to the new component name |
794
+ | `--no-link` | | avoid saving a reference to the original component |
795
+ | `--ast` | | EXPERIMENTAL. use ast to transform files instead of regex |
572
796
 
573
797
  ---
574
798
 
575
799
  ## format
576
800
 
577
- **Workspace only**: yes
578
801
  **Description**: format components in the development workspace
579
802
 
580
803
  `bit format [component...]`
@@ -587,9 +810,32 @@ to set the default-scope, please use --scope flag
587
810
 
588
811
  ---
589
812
 
813
+ ## git
814
+
815
+ **Description**: perform git operations
816
+
817
+ `bit git <sub-command>`
818
+
819
+ ### git set-merge-driver
820
+
821
+ **Usage**: `git set-merge-driver`
822
+
823
+ **Description**: setup bit's git merge driver for bitmap files
824
+
825
+ | **Option** | **Option alias** | **Description** |
826
+ | ---------- | :--------------: | --------------------------------- |
827
+ | `--global` | `-g` | set the git merge driver globally |
828
+
829
+ ### git merge-bitmaps
830
+
831
+ **Usage**: `git merge-bitmaps <ancestor> <current> <other>`
832
+
833
+ **Description**: a special command to merge conflicting bitmap files during git merge
834
+
835
+ ---
836
+
590
837
  ## globals
591
838
 
592
- **Workspace only**: yes
593
839
  **Description**: list all globals
594
840
 
595
841
  `bit globals`
@@ -602,123 +848,391 @@ to set the default-scope, please use --scope flag
602
848
 
603
849
  ## graph
604
850
 
605
- **Workspace only**: yes
606
- **Description**: EXPERIMENTAL. generate an image file with the dependencies graph
851
+ **Description**: generate an image file with the workspace components' dependencies graph
607
852
 
608
853
  `bit graph [id]`
609
854
 
610
855
  | **Option** | **Option alias** | **Description** |
611
856
  | ----------------------- | :--------------: | ------------------------------------------------------------------------------------------------------ |
612
- | `--image <image>` | `-i` | image path. use one of the following extensions: [gif, png, svg, pdf] |
857
+ | `--image <image>` | `-i` | image path and format. use one of the following extensions: [gif, png, svg, pdf] |
613
858
  | `--remote [remoteName]` | `-r` | remote name (name is optional, leave empty when id is specified) |
614
859
  | `--all-versions` | | enter all components versions into the graph, not only latest |
615
860
  | `--layout <name>` | | GraphVis layout. default to "dot". options are [circo, dot, fdp, neato, osage, patchwork, sfdp, twopi] |
861
+ | `--json` | `-j` | json format |
616
862
 
617
863
  ---
618
864
 
619
865
  ## help
620
866
 
621
867
  **Alias**: `$0`
622
- **Workspace only**: yes
623
868
  **Description**: shows help
624
869
 
625
870
  `bit help`
626
871
 
872
+ | **Option** | **Option alias** | **Description** |
873
+ | ------------ | :--------------: | ---------------------- |
874
+ | `--internal` | | show internal commands |
875
+
627
876
  ---
628
877
 
629
878
  ## import
630
879
 
631
- **Workspace only**: yes
632
- **Description**: import components into your current workspace.
633
- https://bit.dev/reference/components/importing-components
634
- you can use a pattern for multiple ids, such as bit import "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
880
+ **Description**: import components from their remote scopes to the local workspace
881
+
882
+ `bit import [component-patterns...]`
635
883
 
636
- `bit import [ids...]`
884
+ | **Arg** | **Description** |
885
+ | ----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
886
+ | `component-patterns...` | component IDs or component patterns (separated by space). Use patterns to import groups of components using a common scope or namespace. E.g., "utils/\*" (wrap with double quotes) |
637
887
 
638
- | **Option** | **Option alias** | **Description** |
639
- | -------------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------- |
640
- | `--path <path>` | `-p` | import components into a specific directory |
641
- | `--objects` | `-o` | import components objects only, don't write the components to the file system. This is a default behavior for import with no id |
642
- | `--display-dependencies` | `-d` | display the imported dependencies |
643
- | `--override` | `-O` | override local changes |
644
- | `--verbose` | `-v` | showing verbose output for inspection |
645
- | `--json` | `-j` | return the output as JSON |
646
- | `--conf` | | write the configuration file (component.json) of the component (harmony components only) |
647
- | `--skip-npm-install` | | DEPRECATED. use "--skip-dependency-installation" instead |
648
- | `--skip-dependency-installation` | | do not install packages of the imported components |
649
- | `--merge [strategy]` | `-m` | merge local changes with the imported version. strategy should be "theirs", "ours" or "manual" |
650
- | `--dependencies` | | EXPERIMENTAL. import all dependencies and write them to the workspace |
651
- | `--dependents` | | EXPERIMENTAL. import component dependents to allow auto-tag updating them upon tag |
652
- | `--skip-lane` | | EXPERIMENTAL. when checked out to a lane, do not import the component into the lane, save it on main |
653
- | `--all-history` | | relevant for fetching all components objects. avoid optimizations, fetch all history versions, always |
888
+ | **Option** | **Option alias** | **Description** |
889
+ | -------------------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
890
+ | `--path <path>` | `-p` | import components into a specific directory (a relative path in the workspace) |
891
+ | `--objects` | `-o` | import components objects to the local scope without checkout (without writing them to the file system). This is the default behavior for import with no id argument |
892
+ | `--override` | `-O` | override local changes |
893
+ | `--verbose` | `-v` | show verbose output for inspection |
894
+ | `--json` | `-j` | return the output as JSON |
895
+ | `--skip-dependency-installation` | `-x` | do not auto-install dependencies of the imported components |
896
+ | `--merge [strategy]` | `-m` | merge local changes with the imported version. strategy should be "theirs", "ours" or "manual" |
897
+ | `--dependencies` | | import all dependencies (bit components only) of imported components and write them to the workspace |
898
+ | `--dependents` | | import components found while traversing from the imported components upwards to the workspace components |
899
+ | `--save-in-lane` | | when checked out to a lane and the component is not on the remote-lane, save it in the lane (defaults to save on main) |
900
+ | `--all-history` | | relevant for fetching all components objects. avoid optimizations, fetch all history versions, always |
901
+ | `--fetch-deps` | | fetch dependencies (bit components) objects to the local scope, but dont add to the workspace. Useful to resolve errors about missing dependency data |
902
+ | `--track-only` | | do not write any component files, just create .bitmap entries of the imported components. Useful when the files already exist and just want to re-add the component to the bitmap |
903
+ | `--include-deprecated` | | when importing with patterns, include deprecated components (default to exclude them) |
654
904
 
655
905
  ---
656
906
 
657
907
  ## init
658
908
 
659
- **Workspace only**: no
660
- **Description**: initialize an empty bit scope
661
- https://bit.dev/reference/workspace/creating-workspaces#initialize-a-workspace-on-an-existing-project
909
+ **Description**: create or reinitialize an empty workspace
910
+ https://https://bit.dev//workspace/creating-workspaces#initialize-a-workspace-on-an-existing-project
662
911
 
663
912
  `bit init [path]`
664
913
 
665
- | **Option** | **Option alias** | **Description** |
666
- | ----------------------------------------- | :--------------: | -------------------------------------------------------------------------------------------------------------------------------------- |
667
- | `--bare [name]` | `-b` | initialize an empty bit bare scope |
668
- | `--shared <groupname>` | `-s` | add group write permissions to a scope properly |
669
- | `--standalone` | `-T` | do not nest component store within .git directory and do not write config data inside package.json |
670
- | `--reset` | `-r` | write missing or damaged Bit files |
671
- | `--reset-new` | | reset .bitmap file as if the components were newly added and remove all model data (objects) |
672
- | `--reset-hard` | | delete all Bit files and directories, including Bit configuration, tracking and model data. Useful for re-start using Bit from scratch |
673
- | `--default-directory <default-directory>` | `-d` | set up default directory to import components into |
674
- | `--package-manager <package-manager>` | `-p` | set up package manager (npm or yarn) |
675
- | `--force` | `-f` | force workspace initialization without clearing local objects |
676
- | `--harmony` | | DEPRECATED. no need for this flag. Harmony is the default now |
677
- | `--interactive` | `-I` | EXPERIMENTAL. start an interactive process |
914
+ | **Option** | **Option alias** | **Description** |
915
+ | ----------------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------------- |
916
+ | `--bare [name]` | `-b` | initialize an empty bit bare scope |
917
+ | `--shared <groupname>` | `-s` | add group write permissions to a scope properly |
918
+ | `--standalone` | `-T` | do not nest component store within .git directory and do not write config data inside package.json |
919
+ | `--reset` | `-r` | write missing or damaged Bit files |
920
+ | `--reset-new` | | reset .bitmap file as if the components were newly added and remove all model data (objects) |
921
+ | `--reset-lane-new` | | same as reset-new, but it only resets components belong to lanes. main components are left intact |
922
+ | `--reset-hard` | | delete all Bit files and directories, including Bit configuration, tracking and model data. Useful for re-starting workspace from scratch |
923
+ | `--reset-scope` | | removes local scope (.bit or .git/bit). tags/snaps that have not been exported will be lost. workspace is left intact |
924
+ | `--default-directory <default-directory>` | `-d` | set the default directory pattern to import/create components into |
925
+ | `--default-scope <default-scope>` | | set the default scope for components in the workspace |
926
+ | `--package-manager <package-manager>` | `-p` | set the package manager (npm or yarn) to be used in the workspace |
927
+ | `--force` | `-f` | force workspace initialization without clearing local objects |
928
+ | `--harmony` | | DEPRECATED. no need for this flag. Harmony is the default now |
929
+ | `--interactive` | `-I` | EXPERIMENTAL. start an interactive process |
678
930
 
679
931
  ---
680
932
 
681
933
  ## install
682
934
 
683
935
  **Alias**: `in`
684
- **Workspace only**: yes
685
- **Description**: install development workspace dependencies
936
+ **Description**: installs workspace dependencies
937
+ when no package is specified, all workspace dependencies are installed and all workspace components are imported.
686
938
 
687
939
  `bit install [packages...]`
688
940
 
689
- | **Option** | **Option alias** | **Description** |
690
- | --------------------------------------- | :--------------: | --------------------------------------------------------------- |
691
- | `--variants <variants>` | `-v` | add packages to specific variants |
692
- | `--type [lifecycleType]` | `-t` | "runtime" (default) or "peer" (dev is not a valid option) |
693
- | `--update-existing [updateExisting]` | `-u` | update existing dependencies version and types |
694
- | `--save-prefix [savePrefix]` | | set the prefix to use when adding dependency to workspace.jsonc |
695
- | `--skip-dedupe [skipDedupe]` | | do not dedupe dependencies on installation |
696
- | `--skip-import [skipImport]` | | do not import bit objects post installation |
697
- | `--add-missing-peers [addMissingPeers]` | | install all missing peer dependencies |
941
+ | **Arg** | **Description** |
942
+ | ------------- | :-------------------------------------------------: |
943
+ | `packages...` | a list of packages to install (separated by spaces) |
944
+
945
+ | **Option** | **Option alias** | **Description** |
946
+ | ---------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------ |
947
+ | `--type [lifecycleType]` | `-t` | "runtime" (default) or "peer" (dev is not a valid option) |
948
+ | `--update` | `-u` | update all dependencies to latest version according to their semver range |
949
+ | `--update-existing` | | DEPRECATED (not needed anymore, it is the default now). update existing dependencies version and types |
950
+ | `--save-prefix [savePrefix]` | | set the prefix to use when adding dependency to workspace.jsonc |
951
+ | `--skip-dedupe` | | do not dedupe dependencies on installation |
952
+ | `--skip-import` | | do not import bit objects post installation |
953
+ | `--skip-compile` | | do not compile components |
954
+ | `--add-missing-deps` | | install all missing dependencies |
955
+ | `--add-missing-peers` | | install all missing peer dependencies |
956
+ | `--recurring-install` | | automatically run install again if there are non loaded old envs in your workspace |
957
+ | `--no-optional [noOptional]` | | do not install optional dependencies (works with pnpm only) |
958
+ | `--lockfile-only` | | dependencies are not written to node_modules. Only the lockfile is updated |
959
+
960
+ ---
961
+
962
+ ## lane
963
+
964
+ **Alias**: `l`
965
+ **Description**: manage lanes - if no sub-command is used, runs "bit lane list"
966
+
967
+ `bit lane [sub-command]`
968
+
969
+ ### lane list
970
+
971
+ **Usage**: `lane list`
972
+
973
+ **Description**: list local lanes
974
+
975
+ | **Option** | **Option alias** | **Description** |
976
+ | ------------------------------ | :--------------: | ------------------------------------------------------------- |
977
+ | `--details` | `-d` | show more details on the state of each component in each lane |
978
+ | `--json` | `-j` | show lanes' details in a json format |
979
+ | `--remote <remote-scope-name>` | `-r` | show all remote lanes from the specified scope |
980
+ | `--merged` | | list only merged lanes |
981
+ | `--not-merged` | | list only lanes that haven't been merged |
982
+
983
+ ### lane switch
984
+
985
+ **Usage**: `lane switch <lane>`
986
+
987
+ **Description**: switch to the specified lane
988
+
989
+ | **Arg** | **Description** |
990
+ | ------- | :------------------------------------------------------: |
991
+ | `lane` | lane-name or lane-id (if lane is not local) to switch to |
992
+
993
+ | **Option** | **Option alias** | **Description** |
994
+ | -------------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
995
+ | `--alias <string>` | `-n` | relevant when the specified lane is a remote lane. create a local alias for the lane (doesnt affect the lane's name on the remote |
996
+ | `--merge [strategy]` | `-m` | merge local changes with the checked out version. strategy should be "theirs", "ours" or "manual" |
997
+ | `--get-all` | `-a` | checkout all components in a lane, including those not currently in the workspace |
998
+ | `--skip-dependency-installation` | `-x` | do not install dependencies of the imported components |
999
+ | `--pattern <component-pattern>` | `-p` | switch only the lane components matching the specified component-pattern. only works when the workspace is empty component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
1000
+ | `--json` | `-j` | return the output as JSON |
1001
+
1002
+ ### lane show
1003
+
1004
+ **Usage**: `lane show [lane-name]`
1005
+
1006
+ **Description**: show lane details. if no lane specified, show the current lane
1007
+
1008
+ | **Option** | **Option alias** | **Description** |
1009
+ | ---------- | :--------------: | ---------------------------------------------------- |
1010
+ | `--json` | `-j` | show the lane details in json format |
1011
+ | `--remote` | `-r` | show details of the remote head of the provided lane |
1012
+
1013
+ ### lane create
1014
+
1015
+ **Usage**: `lane create <lane-name>`
1016
+
1017
+ **Description**: creates a new lane and switches to it
1018
+ a lane created from main (default-lane) is empty until components are snapped.
1019
+ a lane created from another lane contains all the components of the original lane.
1020
+
1021
+ | **Arg** | **Description** |
1022
+ | ----------- | :-----------------------: |
1023
+ | `lane-name` | the name for the new lane |
1024
+
1025
+ | **Option** | **Option alias** | **Description** |
1026
+ | ----------------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1027
+ | `--scope <scope-name>` | `-s` | remote scope to which this lane will be exported, default to the workspace.json's defaultScope (can be changed up to first export of the lane with "bit lane change-scope") |
1028
+ | `--remote-scope <scope-name>` | | DEPRECATED. use --scope |
1029
+ | `--alias <name>` | | a local alias to refer to this lane, defaults to the `<lane-name>` (can be added later with "bit lane alias") |
1030
+ | `--fork-lane-new-scope` | | create the new lane in a different scope than its parent lane (if created from another lane) |
1031
+
1032
+ ### lane remove
1033
+
1034
+ **Usage**: `lane remove <lanes...>`
1035
+
1036
+ **Description**: remove or delete lanes
1037
+
1038
+ | **Arg** | **Description** |
1039
+ | ---------- | :---------------------------------------: |
1040
+ | `lanes...` | A list of lane names, separated by spaces |
1041
+
1042
+ | **Option** | **Option alias** | **Description** |
1043
+ | ---------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------- |
1044
+ | `--remote` | `-r` | delete a remote lane. use remote/lane-id syntax e.g. bit lane remove owner.org/my-lane --remote. Delete is immediate, no export required |
1045
+ | `--force` | `-f` | removes/deletes the lane even when the lane is not yet merged to main |
1046
+ | `--silent` | `-s` | skip confirmation |
1047
+
1048
+ ### lane change-scope
1049
+
1050
+ **Usage**: `lane change-scope <remote-scope-name>`
1051
+
1052
+ **Description**: changes the remote scope of a lane
1053
+ NOTE: available only before the lane is exported to the remote
1054
+
1055
+ | **Option** | **Option alias** | **Description** |
1056
+ | ------------------------- | :--------------: | ------------------------------------------------------------------------------------------- |
1057
+ | `--lane-name <lane-name>` | `-l` | the name of the lane to change its remote scope. if not specified, the current lane is used |
1058
+
1059
+ ### lane alias
1060
+
1061
+ **Usage**: `lane alias <lane-name> <alias>`
1062
+
1063
+ **Description**: adds an alias to a lane
1064
+ an alias is a name that can be used locally to refer to a lane. it is saved locally and never reaches the remote.
1065
+ it is useful e.g. when having multiple lanes with the same name, but with different remote scopes.
1066
+
1067
+ ### lane rename
1068
+
1069
+ **Usage**: `lane rename <new-name>`
1070
+
1071
+ **Description**: EXPERIMENTAL. change the lane-name locally and on the remote (if exported)
1072
+
1073
+ | **Option** | **Option alias** | **Description** |
1074
+ | ------------------------- | :--------------: | -------------------------------------------------------------------------- |
1075
+ | `--lane-name <lane-name>` | `-l` | the name of the lane to rename. if not specified, the current lane is used |
1076
+
1077
+ ### lane diff
1078
+
1079
+ **Usage**: `lane diff [values...]`
1080
+
1081
+ **Description**: show diff between lanes
1082
+ bit lane diff => diff between the current lane and default lane. (only inside workspace).
1083
+ bit lane diff to => diff between the current lane (or default-lane when in scope) and "to" lane.
1084
+ bit lane diff from to => diff between "from" lane and "to" lane.
1085
+
1086
+ | **Arg** | **Description** |
1087
+ | ------- | :------------------------------: |
1088
+ | `from` | base lane for comparison |
1089
+ | `to` | lane being compared to base lane |
1090
+
1091
+ | **Option** | **Option alias** | **Description** |
1092
+ | ------------------------------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
1093
+ | `--pattern <component-pattern>` | | show lane-diff for components conforming to the specified component-pattern only component-pattern format: component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
1094
+
1095
+ ### lane add-readme
1096
+
1097
+ **Usage**: `lane add-readme <component-name> [lane-name]`
1098
+
1099
+ **Description**: EXPERIMENTAL. sets an existing component as the readme of a lane
1100
+
1101
+ | **Arg** | **Description** |
1102
+ | -------------- | :-------------------------------------------------------------------: |
1103
+ | `component-id` | the component name or id of the component to use as the lane's readme |
1104
+ | `lane-name` | the lane to attach the readme to (defaults to the current lane) |
1105
+
1106
+ ### lane remove-readme
1107
+
1108
+ **Usage**: `lane remove-readme [laneName]`
1109
+
1110
+ **Description**: EXPERIMENTAL. remove lane readme component
1111
+
1112
+ ### lane import
1113
+
1114
+ **Usage**: `lane import <lane>`
1115
+
1116
+ **Description**: import a remote lane to your workspace and switch to that lane
1117
+
1118
+ | **Arg** | **Description** |
1119
+ | ------- | :------------------: |
1120
+ | `lane` | the remote lane name |
1121
+
1122
+ | **Option** | **Option alias** | **Description** |
1123
+ | -------------------------------- | :--------------: | -------------------------------------------------------------------------------------------------------------------------------------- |
1124
+ | `--skip-dependency-installation` | `-x` | do not install dependencies of the imported components |
1125
+ | `--pattern <component-pattern>` | `-p` | import only components from the lane that fit the specified component-pattern to the workspace. works only when the workspace is empty |
1126
+
1127
+ ### lane remove-comp
1128
+
1129
+ **Usage**: `lane remove-comp <component-pattern>`
1130
+
1131
+ **Description**: DEPRECATED. remove components when on a lane
1132
+
1133
+ | **Arg** | **Description** |
1134
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1135
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
1136
+
1137
+ | **Option** | **Option alias** | **Description** |
1138
+ | ------------------ | :--------------: | ------------------------------------------------------------------------------------------------- |
1139
+ | `--workspace-only` | | do not mark the components as removed from the lane. instead, remove them from the workspace only |
1140
+ | `--update-main` | | EXPERIMENTAL. remove, i.e. delete, component/s on the main lane after merging this lane into main |
1141
+
1142
+ ### lane merge
1143
+
1144
+ **Usage**: `lane merge <lane> [pattern]`
1145
+
1146
+ **Description**: merge a local or a remote lane to the current lane
1147
+ by default, the provided lane will be fetched from the remote before merging.
1148
+ to merge the lane from the local scope without updating it first, use "--skip-fetch" flag.
1149
+
1150
+ when the current and merge candidate lanes are diverged in history and the files could be merged with no conflicts,
1151
+ these components will be snap-merged to complete the merge. use "no-snap" to opt-out, or "tag" to tag instead.
1152
+
1153
+ in case a component in both ends don't share history (no snap is found in common), the merge will require "--resolve-unrelated" flag.
1154
+ this flag keeps the history of one end and saves a reference to the other end. the decision of which end to keep is determined by the following:
1155
+
1156
+ 1. if the component exists on main, then the history linked to main will be kept.
1157
+ in this case, the strategy of "--resolve-unrelated" only determines which source-code to keep. it's not about the history.
1158
+ 2. if the component doesn't exist on main, then by default, the history of the current lane will be kept.
1159
+ unless "--resolve-unrelated" is set to "theirs", in which case the history of the other lane will be kept.
1160
+ 3. a. an edge case: if the component is deleted on the current lane, the strategy will always be "theirs".
1161
+ so then the history (and the source-code) of the other lane will be kept.
1162
+
1163
+ | **Arg** | **Description** |
1164
+ | --------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1165
+ | `lane` | lane-name or full lane-id (if remote) to merge to the current lane |
1166
+ | `pattern` | partially merge the lane - only components that match the specified component-pattern Component pattern format: component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
1167
+
1168
+ | **Option** | **Option alias** | **Description** |
1169
+ | --------------------------------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------- |
1170
+ | `--ours` | | DEPRECATED. use --auto-merge-resolve. in case of a conflict, keep local modifications |
1171
+ | `--theirs` | | DEPRECATED. use --auto-merge-resolve. in case of a conflict, override local with incoming changes |
1172
+ | `--manual` | | DEPRECATED. use --auto-merge-resolve |
1173
+ | `--auto-merge-resolve <merge-strategy>` | | in case of a merge conflict, resolve according to the provided strategy: [ours, theirs, manual] |
1174
+ | `--workspace` | | merge only lane components that are in the current workspace |
1175
+ | `--no-snap` | | do not auto snap after merge completed without conflicts |
1176
+ | `--tag` | | auto-tag all lane components after merging into main (or tag-merge in case of snap-merge) |
1177
+ | `--build` | | in case of snap during the merge, run the build-pipeline (similar to bit snap --build) |
1178
+ | `--message <message>` | `-m` | override the default message for the auto snap |
1179
+ | `--keep-readme` | | skip deleting the lane readme component after merging |
1180
+ | `--no-squash` | | relevant for merging lanes into main, which by default squashes all lane snaps |
1181
+ | `--squash` | | EXPERIMENTAL. relevant for merging a lane into another non-main lane, which by default does not squash |
1182
+ | `--ignore-config-changes` | | allow merging when components are modified due to config changes (such as dependencies) only and not files |
1183
+ | `--verbose` | | show details of components that were not merged successfully |
1184
+ | `--skip-dependency-installation` | `-x` | do not install dependencies of the imported components |
1185
+ | `--skip-fetch` | | use the local state of target-lane if exits locally, without updating it from the remote |
1186
+ | `--include-deps` | | relevant for "--pattern" and "--workspace". merge also dependencies of the specified components |
1187
+ | `--resolve-unrelated [merge-strategy]` | | relevant when a component on a lane and the component on main have nothing in common. merge-strategy can be "ours" (default) or "theirs" |
1188
+ | `--include-non-lane-comps` | | when merging main, include workspace components that are not on the lane (by default only lane components are merged) |
1189
+
1190
+ ### lane merge-abort
1191
+
1192
+ **Usage**: `lane merge-abort`
1193
+
1194
+ **Description**: abort the recent lane-merge. revert the lane object and checkout accordingly
1195
+ restore the lane-object to its state before the last "bit lane merge" command.
1196
+ also, checkout the workspace components according to the restored lane state
1197
+
1198
+ | **Option** | **Option alias** | **Description** |
1199
+ | -------------------------------- | :--------------: | -------------------------------------------------------- |
1200
+ | `--verbose` | | show details of components that didn't need to be merged |
1201
+ | `--silent` | `-s` | skip confirmation |
1202
+ | `--skip-dependency-installation` | `-x` | do not install packages of the imported components |
1203
+
1204
+ | **Option** | **Option alias** | **Description** |
1205
+ | ------------------------------ | :--------------: | ------------------------------------------------------------- |
1206
+ | `--details` | `-d` | show more details on the state of each component in each lane |
1207
+ | `--json` | `-j` | show lanes details in json format |
1208
+ | `--remote <remote-scope-name>` | `-r` | show all remote lanes from the specified scope |
1209
+ | `--merged` | | list only merged lanes |
1210
+ | `--not-merged` | | list only lanes that haven't been merged |
698
1211
 
699
1212
  ---
700
1213
 
701
1214
  ## link
702
1215
 
703
- **Workspace only**: yes
704
- **Description**: generate symlinks to resolve module paths for imported components.
705
- https://bit.dev/reference/workspace/component-links
1216
+ **Description**: create links in the node_modules directory, to core aspects and to components in the workspace
1217
+
1218
+ `bit link [component-names...]`
706
1219
 
707
- `bit link [ids...]`
1220
+ | **Arg** | **Description** |
1221
+ | -------------------- | :------------------------------------: |
1222
+ | `component-names...` | names or IDs of the components to link |
708
1223
 
709
- | **Option** | **Option alias** | **Description** |
710
- | ------------------------- | :--------------: | -------------------------------------------------------------------------------------------------------------- |
711
- | `--json` | `-j` | return the output as JSON |
712
- | `--verbose` | | verbose output |
713
- | `--rewire` | `-r` | Replace relative paths with module paths in code (e.g. "../foo" => "@bit/foo") |
714
- | `--target <dir>` | | EXPERIMENTAL. link to an external directory (similar to npm-link) so other projects could use these components |
715
- | `--skip-fetching-objects` | | skip fetch missing objects from remotes before linking |
1224
+ | **Option** | **Option alias** | **Description** |
1225
+ | ------------------------- | :--------------: | ------------------------------------------------------------------------------------------------ |
1226
+ | `--json` | `-j` | return the output as JSON |
1227
+ | `--verbose` | | verbose output |
1228
+ | `--rewire` | `-r` | Replace relative paths with module paths in code (e.g. "../foo" => "@bit/foo") |
1229
+ | `--target <dir>` | | link to an external directory (similar to npm-link) so other projects could use these components |
1230
+ | `--skip-fetching-objects` | | skip fetch missing objects from remotes before linking |
716
1231
 
717
1232
  ---
718
1233
 
719
1234
  ## lint
720
1235
 
721
- **Workspace only**: yes
722
1236
  **Description**: lint components in the development workspace
723
1237
 
724
1238
  `bit lint [component...]`
@@ -735,59 +1249,72 @@ https://bit.dev/reference/workspace/component-links
735
1249
  ## list
736
1250
 
737
1251
  **Alias**: `ls`
738
- **Workspace only**: no
739
- **Description**: list components on a local or a remote scope.
740
- https://bit.dev/reference/reference/cli-reference#list
1252
+ **Description**: list components on a workspace or a remote scope (with flag).
741
1253
 
742
1254
  `bit list [remote-scope]`
743
1255
 
744
- | **Option** | **Option alias** | **Description** |
745
- | ---------------------- | :--------------: | ------------------------------------------------------------------------------- |
746
- | `--ids` | `-i` | show only component ids unformatted |
747
- | `--scope` | `-s` | show only components stored in the local scope, including indirect dependencies |
748
- | `--bare` | `-b` | DEPRECATED. use --raw instead |
749
- | `--raw` | `-r` | show raw output (only components ids, no styling) |
750
- | `--outdated` | `-o` | show latest versions from remotes |
751
- | `--json` | `-j` | show the output in JSON format |
752
- | `--namespace <string>` | `-n` | show only specified namespace by using wildcards |
1256
+ | **Option** | **Option alias** | **Description** |
1257
+ | ---------------------- | :--------------: | --------------------------------------------------------------------------------------------- |
1258
+ | `--ids` | `-i` | show only component ids, unformatted |
1259
+ | `--scope` | `-s` | show only components stored in the local scope, including indirect dependencies |
1260
+ | `--outdated` | `-o` | highlight outdated components, in comparison with their latest remote version (if one exists) |
1261
+ | `--json` | `-j` | show the output in JSON format |
1262
+ | `--namespace <string>` | `-n` | show only components in the specified namespace/s e.g. '-n ui' or '\*/ui' |
753
1263
 
754
1264
  ---
755
1265
 
756
1266
  ## log
757
1267
 
758
- **Workspace only**: no
759
- **Description**: show components(s) tag history.
760
- https://bit.dev/reference/reference/cli-reference#log
1268
+ **Description**: show components(s) version history
761
1269
 
762
1270
  `bit log <id>`
763
1271
 
764
- | **Option** | **Option alias** | **Description** |
765
- | ----------- | :--------------: | ----------------------------------------- |
766
- | `--remote` | `-r` | show log of a remote component |
767
- | `--parents` | | EXPERIMENTAL. show parents and lanes data |
1272
+ | **Arg** | **Description** |
1273
+ | ------- | :----------------------------: |
1274
+ | `id` | component-id or component-name |
1275
+
1276
+ | **Option** | **Option alias** | **Description** |
1277
+ | ------------ | :--------------: | ------------------------------- |
1278
+ | `--remote` | `-r` | show log of a remote component |
1279
+ | `--parents` | | show parents and lanes data |
1280
+ | `--one-line` | `-o` | show each log entry in one line |
1281
+ | `--json` | `-j` | json format |
1282
+
1283
+ ---
1284
+
1285
+ ## log-file
1286
+
1287
+ **Description**: EXPERIMENTAL. show file history
1288
+
1289
+ `bit log-file <filepath>`
1290
+
1291
+ | **Arg** | **Description** |
1292
+ | ---------- | :---------------------------------: |
1293
+ | `filepath` | file path relative to the workspace |
1294
+
1295
+ | **Option** | **Option alias** | **Description** |
1296
+ | ------------ | :--------------: | ------------------------------- |
1297
+ | `--one-line` | `-o` | show each log entry in one line |
768
1298
 
769
1299
  ---
770
1300
 
771
1301
  ## login
772
1302
 
773
- **Workspace only**: no
774
- **Description**: log the CLI into Bit Cloud
1303
+ **Description**: log in to Bit cloud
775
1304
 
776
1305
  `bit login`
777
1306
 
778
- | **Option** | **Option alias** | **Description** |
779
- | --------------------------- | :--------------: | -------------------------------------------------------------------------------------------------- |
780
- | `--port <port>` | `-p` | port number to open for localhost server (default 8085) |
781
- | `--suppress-browser-launch` | | do not open a browser for authentication |
782
- | `--npmrc-path <path>` | | path to npmrc file to configure bit.cloud registry |
783
- | `--skip-registry-config` | | don't configure bit.cloud registry |
784
- | `--machine-name <string>` | | specify machine-name to pair with the token (useful for CI to avoid accidentally revoke the token) |
1307
+ | **Option** | **Option alias** | **Description** |
1308
+ | --------------------------- | :--------------: | ---------------------------------------------------------------------------------------------------- |
1309
+ | `--cloud-domain <domain>` | `-d` | login cloud domain (default bit.cloud) |
1310
+ | `--port <port>` | `-p` | port number to open for localhost server (default 8085) |
1311
+ | `--suppress-browser-launch` | | do not open a browser for authentication |
1312
+ | `--machine-name <name>` | | specify machine-name to pair with the token (useful for CI to avoid accidentally revoking the token) |
785
1313
 
786
1314
  ---
787
1315
 
788
1316
  ## logout
789
1317
 
790
- **Workspace only**: yes
791
1318
  **Description**: log the CLI out of Bit
792
1319
 
793
1320
  `bit logout`
@@ -796,81 +1323,101 @@ https://bit.dev/reference/workspace/component-links
796
1323
 
797
1324
  ## merge
798
1325
 
799
- **Workspace only**: yes
800
- **Description**: merge changes of different component versions
801
- `bit merge <version> [ids...]` => merge changes of the given version into the checked out version
802
- `bit merge [ids...]` => EXPERIMENTAL. merge changes of the remote head into local, optionally use '--abort' or '--resolve'
803
- you can use a pattern for multiple ids, such as bit merge 0.0.1 "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
1326
+ **Description**: merge changes of the remote head into local - auto-snaps all merged components
1327
+ merge changes of the remote head into local when they are diverged. when on a lane, merge the remote head of the lane into the local
1328
+ and creates snaps for merged components that have diverged, on the lane.
1329
+ if no ids are specified, all pending-merge components will be merged. (run "bit status" to list them).
1330
+ optionally use '--abort' to revert the last merge. to revert a lane merge, use "bit lane merge-abort" command.
1331
+ you can use a pattern for multiple ids, such as bit merge "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
804
1332
 
805
- `bit merge [values...]`
1333
+ `bit merge [ids...]`
806
1334
 
807
- | **Option** | **Option alias** | **Description** |
808
- | --------------------- | :--------------: | ------------------------------------------------------------------------------------------- |
809
- | `--ours` | | in case of a conflict, override the used version with the current modification |
810
- | `--theirs` | | in case of a conflict, override the current modification with the specified version |
811
- | `--manual` | | in case of a conflict, leave the files with a conflict state to resolve them manually later |
812
- | `--abort` | | EXPERIMENTAL. in case of an unresolved merge, revert to the state before the merge began |
813
- | `--resolve` | | EXPERIMENTAL. mark an unresolved merge as resolved and create a new snap with the changes |
814
- | `--no-snap` | | EXPERIMENTAL. do not auto snap in case the merge completed without conflicts |
815
- | `--build` | | in case of snap during the merge, run the build-pipeline (similar to bit snap --build) |
816
- | `--message <message>` | `-m` | EXPERIMENTAL. override the default message for the auto snap |
1335
+ | **Option** | **Option alias** | **Description** |
1336
+ | --------------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------- |
1337
+ | `--ours` | | DEPRECATED. use --auto-merge-resolve. in case of a conflict, keep the local modification |
1338
+ | `--theirs` | | DEPRECATED. use --auto-merge-resolve. in case of a conflict, override the local modification with the specified version |
1339
+ | `--manual` | | DEPRECATED. use --auto-merge-resolve |
1340
+ | `--auto-merge-resolve <merge-strategy>` | | in case of a conflict, resolve according to the strategy: [ours, theirs, manual] |
1341
+ | `--abort` | | in case of an unresolved merge, revert to pre-merge state |
1342
+ | `--resolve` | | mark an unresolved merge as resolved and create a new snap with the changes |
1343
+ | `--no-snap` | | do not auto snap even if the merge completed without conflicts |
1344
+ | `--build` | | in case of snap during the merge, run the build-pipeline (similar to bit snap --build) |
1345
+ | `--verbose` | | show details of components that were not merged successfully |
1346
+ | `--skip-dependency-installation` | `-x` | do not install new dependencies resulting from the merge |
1347
+ | `--message <message>` | `-m` | override the default message for the auto snap |
817
1348
 
818
1349
  ---
819
1350
 
820
- ## move
1351
+ ## mini-status
821
1352
 
822
- **Alias**: `mv`
823
- **Workspace only**: yes
824
- **Description**: move files or directories of component(s)
825
- https://bit.dev/reference/workspace/moving-components
1353
+ **Alias**: `ms`
1354
+ **Description**: EXPERIMENTAL. basic status for fast execution
1355
+ shows only modified/new components with code changes. for the full status, use "bit status".
1356
+ this command only checks source code changes, it doesn't check for config/aspect/dependency changes
1357
+
1358
+ `bit mini-status [component-pattern]`
826
1359
 
827
- `bit move <existing-dir> <new-dir>`
1360
+ | **Arg** | **Description** |
1361
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1362
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
828
1363
 
829
- | **Option** | **Option alias** | **Description** |
830
- | ------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------- |
831
- | `--component` | `-c` | move component files that are spread over multiple directories to one directory. synopsis: `move <component-id> <directory>` |
1364
+ | **Option** | **Option alias** | **Description** |
1365
+ | --------------- | :--------------: | ---------------------------------------------- |
1366
+ | `--show-issues` | | show component issues (slows down the command) |
1367
+ | `--json` | `-j` | json format |
832
1368
 
833
1369
  ---
834
1370
 
835
- ## new
1371
+ ## move
836
1372
 
837
- **Workspace only**: yes
838
- **Description**: Create a new workspace from a template
1373
+ **Alias**: `mv`
1374
+ **Description**: move a component to a different filesystem path (note: this does NOT affect the component's name or scope, just its location in the workspace)
1375
+ move files or directories of component(s)
839
1376
 
840
- `bit new <templateName> <workspaceName>`
1377
+ `bit move <current-component-dir> <new-component-dir>`
841
1378
 
842
- | **Option** | **Option alias** | **Description** |
843
- | -------------------------- | :--------------: | --------------------------------------------------------------------------------------------------------------- |
844
- | `--aspect <string>` | `-a` | aspect-id of the template. mandatory for non-core aspects. helpful for core aspects in case of a name collision |
845
- | `--default-scope <string>` | `-d` | set defaultScope in the new workspace.jsonc |
846
- | `--standalone` | | DEPRECATED. use --skip-git instead |
847
- | `--skip-git` | `-s` | skip generation of Git repository |
848
- | `--empty` | `-e` | empty workspace with no components (relevant for templates that add components by default) |
849
- | `--load-from <string>` | | path to the workspace containing the template. helpful during a development of a workspace-template |
1379
+ | **Arg** | **Description** |
1380
+ | ----------------------- | :--------------------------------------------------------------------------------------------: |
1381
+ | `current-component-dir` | the component's current directory (relative to the workspace root) |
1382
+ | `new-component-dir` | the new directory (relative to the workspace root) to create and move the component's files to |
850
1383
 
851
1384
  ---
852
1385
 
853
- ## pack
1386
+ ## new
1387
+
1388
+ **Description**: create a new workspace from a template
854
1389
 
855
- **Workspace only**: yes
856
- **Description**: create tar for npm publish
1390
+ `bit new <template-name> <workspace-name>`
857
1391
 
858
- `bit pack <componentId> [scopePath]`
1392
+ | **Arg** | **Description** |
1393
+ | ---------------- | :----------------------------------------------------------------------------------------------------------------------------: |
1394
+ | `template-name` | the name of the workspace template (run 'bit templates' outside of a workspace to get a list of available workspace templates) |
1395
+ | `workspace-name` | the name for the new workspace and workspace directory that will be created |
859
1396
 
860
- | **Option** | **Option alias** | **Description** |
861
- | --------------------- | :--------------: | -------------------------------------------------- |
862
- | `--out-dir <out-dir>` | `-d` | directory to put the result tar file |
863
- | `--override` | `-o` | override existing pack file |
864
- | `--keep` | `-k` | should keep isolated environment [default = false] |
865
- | `--prefix` | `-p` | keep custom (binding) prefix |
866
- | `--json` | `-j` | return the output as JSON |
1397
+ | **Option** | **Option alias** | **Description** |
1398
+ | -------------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------- |
1399
+ | `--aspect <aspect-id>` | `-a` | id of the aspect that registered the template, mandatory for non-core aspects. helpful for core aspects in case of a name collision |
1400
+ | `--template <env-id>` | `-t` | env-id of the template's owner. Alias for --env. |
1401
+ | `--env <env-id>` | | env-id of the template. Alias -t |
1402
+ | `--default-scope <scope-name>` | `-d` | set defaultScope in the new workspace's workspace.jsonc |
1403
+ | `--standalone` | | DEPRECATED. use --skip-git instead |
1404
+ | `--skip-git` | `-s` | skip generation of Git repository in the new workspace |
1405
+ | `--empty` | `-e` | skip template's default component creation (relevant for templates that add components by default) |
1406
+ | `--load-from <path-to-template>` | | local path to the workspace containing the template. Helpful during a development of a workspace-template |
867
1407
 
868
1408
  ---
869
1409
 
870
1410
  ## pattern
871
1411
 
872
- **Workspace only**: yes
873
- **Description**: list the component ids matching the given pattern
1412
+ **Description**: list the component ids matching the given pattern
1413
+ this command helps validating a pattern before using it in other commands.
1414
+ a pattern can be a simple component-id or component-name. e.g. 'ui/button'.
1415
+ a pattern can be used with wildcards for multiple component ids, e.g. 'org.scope/utils/**' or '**/utils/**' to capture all org/scopes.
1416
+ to enter multiple patterns, separate them by a comma, e.g. 'ui/_, lib/_'
1417
+ to exclude, use '!'. e.g. 'ui/**, !ui/button'
1418
+ always wrap the pattern with single quotes to avoid collision with shell commands.
1419
+ the matching algorithm is from multimatch (@see https://github.com/sindresorhus/multimatch)
1420
+ NOTE: always wrap the pattern with single quotes '' and not double "" to avoid collision with shell commands
874
1421
 
875
1422
  `bit pattern <pattern>`
876
1423
 
@@ -880,10 +1427,21 @@ https://bit.dev/reference/workspace/component-links
880
1427
 
881
1428
  ---
882
1429
 
1430
+ ## recover
1431
+
1432
+ **Description**: EXPERIMENTAL. recover component(s) soft-deleted from the workspace, or a remote scope
1433
+
1434
+ `bit recover <component-name>`
1435
+
1436
+ | **Option** | **Option alias** | **Description** |
1437
+ | -------------------------------- | :--------------: | ------------------------------------------------------- |
1438
+ | `--skip-dependency-installation` | `-x` | do not install packages in case of importing components |
1439
+
1440
+ ---
1441
+
883
1442
  ## refactor
884
1443
 
885
- **Workspace only**: yes
886
- **Description**: EXPERIMENTAL. source code refactoring / codemod
1444
+ **Description**: source code refactoring / codemod
887
1445
 
888
1446
  `bit refactor <sub-command>`
889
1447
 
@@ -898,9 +1456,7 @@ the `<old-id>` and `<new-id>` arguments can be either a component-id or a packag
898
1456
 
899
1457
  ## remote
900
1458
 
901
- **Workspace only**: yes
902
- **Description**: manage set of tracked bit scope(s)
903
- https://bit.dev/reference/scope/remote-scopes
1459
+ **Description**: manage set of tracked bit scope(s)
904
1460
 
905
1461
  `bit remote`
906
1462
 
@@ -908,9 +1464,9 @@ the `<old-id>` and `<new-id>` arguments can be either a component-id or a packag
908
1464
 
909
1465
  **Usage**: `remote add <url>`
910
1466
 
911
- **Description**: add a bare-scope as a remote. supported protocols are [file, http, ssh].
912
- for example: "http://localhost:3000", "file:///tmp/local-scope", "ssh://user@127.0.0.1:/tmp/local-scope".
913
- Legacy support [file, ssh]. Harmony supports [file, http].
1467
+ **Description**: add a bare-scope as a remote
1468
+ supported protocols are [file, http].
1469
+ for example: "http://localhost:3000", "file:///tmp/local-scope"
914
1470
 
915
1471
  | **Option** | **Option alias** | **Description** |
916
1472
  | ---------- | :--------------: | ---------------------------- |
@@ -922,9 +1478,9 @@ Legacy support [file, ssh]. Harmony supports [file, http].
922
1478
 
923
1479
  **Description**: remove a tracked bit remote
924
1480
 
925
- | **Option** | **Option alias** | **Description** |
926
- | ---------- | :--------------: | --------------------------------------- |
927
- | `--global` | `-g` | remove a global configured remote scope |
1481
+ | **Option** | **Option alias** | **Description** |
1482
+ | ---------- | :--------------: | ----------------------------------------- |
1483
+ | `--global` | `-g` | remove a globally configured remote scope |
928
1484
 
929
1485
  | **Option** | **Option alias** | **Description** |
930
1486
  | ---------- | :--------------: | ------------------------------- |
@@ -935,83 +1491,193 @@ Legacy support [file, ssh]. Harmony supports [file, http].
935
1491
  ## remove
936
1492
 
937
1493
  **Alias**: `rm`
938
- **Workspace only**: no
939
- **Description**: remove a component (local/remote)
940
- https://bit.dev/reference/components/removing-components
941
- you can use a pattern for multiple ids, such as bit remove "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
1494
+ **Description**: remove component(s) from the local workspace
1495
+ to mark components as deleted on the remote scope, use "bit delete".
1496
+
1497
+ `bit remove <component-pattern>`
942
1498
 
943
- `bit remove <ids...>`
1499
+ | **Arg** | **Description** |
1500
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1501
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
944
1502
 
945
- | **Option** | **Option alias** | **Description** |
946
- | ---------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------- |
947
- | `--remote` | `-r` | remove a component from a remote scope |
948
- | `--track` | `-t` | keep tracking component (default = false) |
949
- | `--delete-files` | `-d` | delete local component files (authored components only. for imported components the files are always deleted) |
950
- | `--force` | `-f` | removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt |
951
- | `--silent` | `-s` | skip confirmation |
1503
+ | **Option** | **Option alias** | **Description** |
1504
+ | -------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------------- |
1505
+ | `--track` | `-t` | keep tracking component in .bitmap (default = false), helps transform a tagged-component to new |
1506
+ | `--keep-files` | | keep component files (just untrack the component) |
1507
+ | `--force` | `-f` | removes the component from the scope, even if used as a dependency. WARNING: you will need to fix the components that depend on this component |
1508
+ | `--silent` | `-s` | skip confirmation |
952
1509
 
953
1510
  ---
954
1511
 
955
1512
  ## rename
956
1513
 
957
- **Workspace only**: no
958
- **Description**: EXPERIMENTAL. rename component. if tagged/exported, create a new component and deprecate the source-component
959
- the `<target-name>` should include the component-name only, without the scope-name.
960
- to assign a default-scope to this component, please use "--scope" flag
1514
+ **Description**: rename component. if tagged/exported, create a new component and deprecate the original component. otherwise just renames current component
1515
+
1516
+ `bit rename <current-name> <new-name>`
961
1517
 
962
- `bit rename <source-name> <target-name>`
1518
+ | **Arg** | **Description** |
1519
+ | -------------- | :----------------------------------------------------------------------------------------------: |
1520
+ | `current-name` | the current component name (without its scope name) |
1521
+ | `new-name` | the new component name (without its scope name. use --scope to define the new component's scope) |
963
1522
 
964
- | **Option** | **Option alias** | **Description** |
965
- | ------------------ | :--------------: | --------------------------------------------------------------------------------------- |
966
- | `--scope <string>` | `-s` | default scope for the newly created component |
967
- | `--path <string>` | `-p` | relative path in the workspace. by default the path is `<scope>/<namespace>/<name>` |
968
- | `--refactor` | `-r` | change the source code of all components using this component with the new package-name |
1523
+ | **Option** | **Option alias** | **Description** |
1524
+ | ------------------------ | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
1525
+ | `--scope <scope-name>` | `-s` | define the scope for the newly created component |
1526
+ | `--path <relative-path>` | `-p` | relative path in the workspace to place new component in. by default, the directory of the new component is from your workspace's "defaultScope" value |
1527
+ | `--refactor` | `-r` | update the import/require statements in all dependent components (in the same workspace) |
1528
+ | `--preserve` | | avoid renaming files and variables/classes according to the new component name |
1529
+ | `--ast` | | EXPERIMENTAL. use ast to transform files instead of regex |
969
1530
 
970
1531
  ---
971
1532
 
972
- ## resume-export
1533
+ ## reset
1534
+
1535
+ **Description**: revert tagged or snapped versions for component(s)
1536
+ https://https://bit.dev//components/tags#undoing-a-tag
1537
+
1538
+ `bit reset [component-pattern]`
973
1539
 
974
- **Workspace only**: yes
975
- **Description**: resume failed export to persist the pending objects on the given remotes.
976
- the export-id is the id the client got in the error message during the failure.
977
- alternatively, exporting to any one of the failed scopes, throws server-is-busy error with the export-id
1540
+ | **Arg** | **Description** |
1541
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1542
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
1543
+ | `component-version` | the version to untag (semver for tags. hash for snaps) |
978
1544
 
979
- `bit resume-export <export-id> <remotes...>`
1545
+ | **Option** | **Option alias** | **Description** |
1546
+ | ---------- | :--------------: | --------------------------------------------------------------------------------------------------------------- |
1547
+ | `--all` | `-a` | revert all unexported tags/snaps for all components |
1548
+ | `--head` | | revert the head tag/snap only (by default, all local tags/snaps are reverted) |
1549
+ | `--soft` | | revert only soft-tags (components tagged with --soft flag) |
1550
+ | `--force` | `-f` | revert the tag even if it's used as a dependency. WARNING: components that depend on this tag will be corrupted |
1551
+
1552
+ ---
1553
+
1554
+ ## revert
1555
+
1556
+ **Description**: replace the current component files by the specified version, leave the version intact
1557
+
1558
+ `bit revert <component-pattern> <to>`
1559
+
1560
+ | **Arg** | **Description** |
1561
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1562
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
1563
+ | `to` | permitted values: [main, specific-version]. 'main' - head version on main. |
1564
+
1565
+ | **Option** | **Option alias** | **Description** |
1566
+ | -------------------------------- | :--------------: | -------------------------------------------------- |
1567
+ | `--verbose` | `-v` | showing verbose output for inspection |
1568
+ | `--skip-dependency-installation` | `-x` | do not install packages of the imported components |
980
1569
 
981
1570
  ---
982
1571
 
983
1572
  ## run
984
1573
 
985
1574
  **Alias**: `c`
986
- **Workspace only**: yes
987
- **Description**: run an application
1575
+ **Description**: locally run an app component (independent of bit's dev server)
1576
+
1577
+ `bit run <app-name>`
988
1578
 
989
- `bit run <app>`
1579
+ | **Arg** | **Description** |
1580
+ | ---------- | :--------------------------------------------------------------------------------------------------: |
1581
+ | `app-name` | the app's name is registered by the app (run 'bit app list' to list the names of the available apps) |
990
1582
 
991
- | **Option** | **Option alias** | **Description** |
992
- | -------------- | :--------------: | -------------------------------------------------------------------------- |
993
- | `--dev` | `-d` | start the application in dev mode. |
994
- | `--verbose` | `-v` | showing verbose output for inspection and prints stack trace |
995
- | `--skip-watch` | | avoid running the watch process that compiles components in the background |
1583
+ | **Option** | **Option alias** | **Description** |
1584
+ | ---------------------- | :--------------: | -------------------------------------------------------------------------- |
1585
+ | `--dev` | `-d` | start the application in dev mode. |
1586
+ | `--port [port-number]` | `-p` | port to run the app on |
1587
+ | `--verbose` | `-v` | show verbose output for inspection and print stack trace |
1588
+ | `--skip-watch` | | avoid running the watch process that compiles components in the background |
1589
+ | `--ssr` | | run app in server side rendering mode. |
996
1590
 
997
1591
  ---
998
1592
 
999
1593
  ## schema
1000
1594
 
1001
- **Workspace only**: yes
1002
- **Description**: shows the API schema of a certain component.
1595
+ **Description**: shows the API schema of the specified component/s.
1596
+ you can use a `<pattern>` for multiple component ids, such as `bit schema "org.scope/utils/**"`.
1597
+ use comma to separate patterns and '!' to exclude. e.g. 'ui/\*\*, !ui/button'
1598
+ always wrap the pattern with single quotes to avoid collision with shell commands.
1599
+ use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.
1003
1600
 
1004
- `bit schema <id>`
1601
+ `bit schema <pattern>`
1005
1602
 
1006
- | **Option** | **Option alias** | **Description** |
1007
- | ---------- | :--------------: | ---------------------------------------- |
1008
- | `--json` | `-j` | return the component data in json format |
1603
+ | **Option** | **Option alias** | **Description** |
1604
+ | ---------- | :--------------: | ------------------------------------------ |
1605
+ | `--json` | `-j` | return the component schema in json format |
1606
+
1607
+ ---
1608
+
1609
+ ## scope
1610
+
1611
+ **Description**: manage the scope-name for components
1612
+
1613
+ `bit scope <sub-command>`
1614
+
1615
+ ### scope set
1616
+
1617
+ **Usage**: `scope set <scope-name> [component-pattern]`
1618
+
1619
+ **Description**: Sets the scope for specified component/s. If no component is specified, sets the default scope of the workspace
1620
+ default scopes for components are set in the bitmap file. the default scope for a workspace is set in the workspace.jsonc.
1621
+ a component is set with a scope (as oppose to default scope) only once it is versioned.'
1622
+
1623
+ you can use a `<pattern>` for multiple component ids, such as `bit scope set scope-name "org.scope/utils/**"`.
1624
+ use comma to separate patterns and '!' to exclude. e.g. 'ui/\*\*, !ui/button'
1625
+ always wrap the pattern with single quotes to avoid collision with shell commands.
1626
+ use `bit pattern --help` to understand patterns better and `bit pattern <pattern>` to validate the pattern.
1627
+
1628
+ | **Arg** | **Description** |
1629
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1630
+ | `scope-name` | name of the scope to set |
1631
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
1632
+
1633
+ ### scope rename
1634
+
1635
+ **Usage**: `scope rename <current-scope-name> <new-scope-name>`
1636
+
1637
+ **Description**: Renames the scope name for all components with the specified 'current scope name' - only available for new components that have not yet been snapped/tagged
1638
+ Note: if `<current-scope-name>` is also the defaultScope for the workspace, this command will set `<new-scope-name>`
1639
+ as the defaultScope instead, and that will then be set for all components by default. You may see updates in your .bitmap file
1640
+ as a result of this change
1641
+
1642
+ | **Arg** | **Description** |
1643
+ | -------------------- | :-------------------------------------------------: |
1644
+ | `current-scope-name` | the scope name to be replaced by another scope name |
1645
+ | `new-scope-name` | a new scope name to replace the current scope name |
1646
+
1647
+ | **Option** | **Option alias** | **Description** |
1648
+ | ------------ | :--------------: | --------------------------------------------------------------------------------------------------------------- |
1649
+ | `--refactor` | `-r` | update the import statements in all dependent components to the new package name (i.e. with the new scope name) |
1650
+
1651
+ ### scope rename-owner
1652
+
1653
+ **Usage**: `scope rename-owner <current-owner-name> <new-owner-name>`
1654
+
1655
+ **Description**: Renames the owner part of the scope-name for all components with the specified 'current owner name'
1656
+
1657
+ | **Arg** | **Description** |
1658
+ | -------------------- | :-------------------------------------------------: |
1659
+ | `current-owner-name` | the owner name to be replaced by another owner name |
1660
+ | `new-owner-name` | a new owner name to replace the current owner name |
1661
+
1662
+ | **Option** | **Option alias** | **Description** |
1663
+ | ------------ | :--------------: | ------------------------------------------------------------------------------------------------------------------- |
1664
+ | `--refactor` | `-r` | update the import statements in all dependent components to the new package name (that contains the new owner name) |
1665
+ | `--ast` | | EXPERIMENTAL. use ast to transform files instead of regex |
1666
+
1667
+ ### scope fork
1668
+
1669
+ **Usage**: `scope fork <original-scope> <new-scope>`
1670
+
1671
+ **Description**: fork all components of the original-scope and refactor the source-code to use the new scope name
1672
+
1673
+ | **Option** | **Option alias** | **Description** |
1674
+ | ---------- | :--------------: | --------------------------------------------------------- |
1675
+ | `--ast` | | EXPERIMENTAL. use ast to transform files instead of regex |
1009
1676
 
1010
1677
  ---
1011
1678
 
1012
1679
  ## scope-config
1013
1680
 
1014
- **Workspace only**: yes
1015
1681
  **Description**: scope config management
1016
1682
 
1017
1683
  `bit scope-config`
@@ -1042,146 +1708,206 @@ alternatively, exporting to any one of the failed scopes, throws server-is-busy
1042
1708
 
1043
1709
  ---
1044
1710
 
1711
+ ## server
1712
+
1713
+ **Description**: EXPERIMENTAL. communicate with bit cli program via http requests
1714
+
1715
+ `bit server`
1716
+
1717
+ | **Option** | **Option alias** | **Description** |
1718
+ | --------------- | :--------------: | ------------------------- |
1719
+ | `--port [port]` | `-p` | port to run the server on |
1720
+
1721
+ ---
1722
+
1045
1723
  ## show
1046
1724
 
1047
- **Workspace only**: yes
1048
- **Description**: show a component
1725
+ **Description**: display the component's essential information
1726
+
1727
+ `bit show <component-name>`
1049
1728
 
1050
- `bit show <id>`
1729
+ | **Arg** | **Description** |
1730
+ | ---------------- | :----------------------------: |
1731
+ | `component-name` | component name or component id |
1051
1732
 
1052
- | **Option** | **Option alias** | **Description** |
1053
- | ----------- | :--------------: | -------------------------------------------------------------------------------------------------------- |
1054
- | `--json` | `-j` | return the component data in json format |
1055
- | `--legacy` | `-l` | use the legacy bit show. |
1056
- | `--remote` | `-r` | show a remote component |
1057
- | `--compare` | `-c` | compare current file system component to latest tagged component [default=latest]. only works in legacy. |
1733
+ | **Option** | **Option alias** | **Description** |
1734
+ | ----------- | :--------------: | ------------------------------------------------------------------------------------------------ |
1735
+ | `--json` | `-j` | return the component data in json format |
1736
+ | `--legacy` | `-l` | use the legacy bit show. |
1737
+ | `--remote` | `-r` | show data for a remote component |
1738
+ | `--compare` | `-c` | legacy-only. compare current file system component to its latest tagged version [default=latest] |
1739
+
1740
+ ---
1741
+
1742
+ ## snap
1743
+
1744
+ **Description**: create an immutable and exportable component snapshot (non-release version)
1745
+
1746
+ `bit snap [component-pattern]`
1747
+
1748
+ | **Arg** | **Description** |
1749
+ | ------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1750
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes. By default, only new and modified components are snapped (add --unmodified to snap all components in the workspace). |
1751
+
1752
+ | **Option** | **Option alias** | **Description** |
1753
+ | -------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1754
+ | `--message <message>` | `-m` | snap message describing the latest changes - will appear in component history log |
1755
+ | `--unmodified` | `-u` | include unmodified components (by default, only new and modified components are snapped) |
1756
+ | `--unmerged` | | complete a merge process by snapping the unmerged components |
1757
+ | `--build` | `-b` | locally run the build pipeline (i.e. not via rippleCI) and complete the snap |
1758
+ | `--editor [editor]` | | open an editor to write a snap message per component. optionally specify the editor-name (defaults to vim). |
1759
+ | `--skip-tests` | | skip running component tests during snap process |
1760
+ | `--skip-auto-snap` | | skip auto snapping dependents |
1761
+ | `--disable-snap-pipeline` | | skip the snap pipeline. this will for instance skip packing and publishing component version for install, and app deployment |
1762
+ | `--force-deploy` | | DEPRECATED. use --ignore-build-error instead |
1763
+ | `--ignore-build-errors` | | proceed to snap pipeline even when build pipeline fails |
1764
+ | `--ignore-issues [issues]` | `-i` | ignore component issues (shown in "bit status" as "issues found"), issues to ignore: [MissingPackagesDependenciesOnFs, MissingManuallyConfiguredPackages, MissingComponents, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, ImportNonMainFiles, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies, DuplicateComponentAndPackage, MergeConfigHasConflict, NonLoadedEnv, ExternalEnvWithoutVersion, RemovedDependencies] to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "\*". |
1765
+ | `--all` | `-a` | DEPRECATED (not needed anymore, now the default). snap all new and modified components |
1766
+ | `--fail-fast` | | stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed) |
1767
+ | `--force` | `-f` | DEPRECATED (use "--skip-tests" or "--unmodified" instead). force-snap even if tests are failing and even when component has not changed |
1058
1768
 
1059
1769
  ---
1060
1770
 
1061
1771
  ## start
1062
1772
 
1063
1773
  **Alias**: `c`
1064
- **Workspace only**: yes
1065
- **Description**: Start a dev environment for a workspace or a specific component
1774
+ **Description**: run the ui/development server
1775
+
1776
+ `bit start [component-pattern]`
1066
1777
 
1067
- `bit start [type] [pattern]`
1778
+ | **Arg** | **Description** |
1779
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1780
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
1068
1781
 
1069
- | **Option** | **Option alias** | **Description** |
1070
- | -------------------- | :--------------: | ------------------------------------------------------------ |
1071
- | `--dev` | `-d` | start UI server in dev mode. |
1072
- | `--port [number]` | `-p` | port of the UI server. |
1073
- | `--rebuild` | `-r` | rebuild the UI |
1074
- | `--verbose` | `-v` | showing verbose output for inspection and prints stack trace |
1075
- | `--no-browser` | | do not automatically open browser when ready |
1076
- | `--skip-compilation` | | skip the auto-compilation before starting the web-server |
1782
+ | **Option** | **Option alias** | **Description** |
1783
+ | ----------------------- | :--------------: | ------------------------------------------------------------------------------------------------------- |
1784
+ | `--dev` | `-d` | start UI server in dev mode. |
1785
+ | `--port [port-number]` | `-p` | port of the UI server. |
1786
+ | `--rebuild` | `-r` | rebuild the UI (useful e.g. when updating the workspace UI - can use the dev flag for HMR in this case) |
1787
+ | `--skip-ui-build` | | skip building UI |
1788
+ | `--verbose` | `-v` | show verbose output for inspection and prints stack trace |
1789
+ | `--no-browser` | `-n` | do not automatically open browser when ready |
1790
+ | `--skip-compilation` | | skip the auto-compilation before starting the web-server |
1791
+ | `--ui-root-name [type]` | `-u` | name of the ui root to use, e.g. "teambit.scope/scope" or "teambit.workspace/workspace" |
1077
1792
 
1078
1793
  ---
1079
1794
 
1080
1795
  ## status
1081
1796
 
1082
1797
  **Alias**: `s`
1083
- **Workspace only**: yes
1084
- **Description**: show the working area component(s) status.
1085
- https://bit.dev/reference/workspace/workspace-status
1798
+ **Description**: present the current status of components in the workspace, including indication of detected issues
1086
1799
 
1087
1800
  `bit status`
1088
1801
 
1089
- | **Option** | **Option alias** | **Description** |
1090
- | ---------- | :--------------: | -------------------------------------- |
1091
- | `--json` | `-j` | return a json version of the component |
1092
- | `--strict` | | in case issues found, exit with code 1 |
1802
+ | **Option** | **Option alias** | **Description** |
1803
+ | ----------- | :--------------: | --------------------------------------------------------------------------------------- |
1804
+ | `--json` | `-j` | return a json version of the component |
1805
+ | `--verbose` | | show extra data: full snap hashes for staged components, and divergence point for lanes |
1806
+ | `--lanes` | `-l` | when on a lane, show updates from main and updates from forked lanes |
1807
+ | `--strict` | | in case issues found, exit with code 1 |
1808
+
1809
+ ---
1810
+
1811
+ ## system
1812
+
1813
+ **Description**: system operations
1814
+
1815
+ `bit system <sub-command>`
1816
+
1817
+ ### system log
1818
+
1819
+ **Usage**: `system log`
1820
+
1821
+ **Description**: print debug.log to the screen
1093
1822
 
1094
1823
  ---
1095
1824
 
1096
1825
  ## tag
1097
1826
 
1098
1827
  **Alias**: `t`
1099
- **Workspace only**: yes
1100
- **Description**: record component changes and lock versions.
1101
- if no ids are provided, it will tag all new and modified components.
1102
- if component ids are entered, you can specify a version per id using "@" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major
1103
- https://bit.dev/reference/components/tags
1104
- you can use a pattern for multiple ids, such as bit tag "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
1105
-
1106
- `bit tag [id...]`
1107
-
1108
- | **Option** | **Option alias** | **Description** |
1109
- | ---------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------- |
1110
- | `--message <message>` | `-m` | log message describing the user changes |
1111
- | `--unmodified` | | include unmodified components (by default, only new and modified components are tagged) |
1112
- | `--editor [editor]` | | EXPERIMENTAL. open an editor to edit the tag messages per component, optionally specify the editor-name, default to vim |
1113
- | `--ver <version>` | `-v` | tag with the given version |
1114
- | `--patch` | `-p` | increment the patch version number |
1115
- | `--minor` | | increment the minor version number |
1116
- | `--major` | | increment the major version number |
1117
- | `--snapped` | | tag components that their head is a snap (not a tag) |
1118
- | `--pre-release [identifier]` | | EXPERIMENTAL. increment a pre-release version (e.g. 1.0.0-dev.1) |
1119
- | `--skip-tests` | | skip running component tests during tag process |
1120
- | `--skip-auto-tag` | | skip auto tagging dependents |
1121
- | `--soft` | | do not persist. only keep note of the changes to be made |
1122
- | `--persist` | | persist the changes generated by --soft tag |
1123
- | `--disable-tag-pipeline` | | skip the tag pipeline to avoid publishing the components |
1124
- | `--force-deploy` | | run the tag pipeline although the build failed |
1125
- | `--increment-by <number>` | | (default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3. |
1126
- | `--ignore-issues [issues]` | `-i` | ignore component issues (shown in "bit status" as "issues found"), issues to ignore: |
1127
-
1128
- [MissingPackagesDependenciesOnFs, MissingComponents, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingLinks, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, MissingCustomModuleResolutionLinks, ImportNonMainFiles, CustomModuleResolutionUsed, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies]
1129
- to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "\*".|
1130
- |`--ignore-newest-version`|`-I`|ignore existing of newer versions (default = false)|
1131
- |`--build`|`-b`|EXPERIMENTAL. not needed for now. run the pipeline build and complete the tag|
1132
- |`--all [version]`|`-a`|DEPRECATED (not needed anymore, it is the default now). tag all new and modified components|
1133
- |`--scope [version]`|`-s`|DEPRECATED (use "--unmodified" instead). tag all components of the current scope|
1134
- |`--force`|`-f`|DEPRECATED (use "--skip-tests" or "--unmodified" instead). force-tag even if tests are failing and even when component has not changed|
1135
- |`--disable-deploy-pipeline`| |DEPRECATED. use --disable-tag-pipeline instead|
1828
+ **Description**: create an immutable and exportable component snapshot, tagged with a release version.
1829
+ if no patterns are provided, it will tag all new and modified components.
1830
+ if patterns are entered, you can specify a version per pattern using "@" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major
1831
+
1832
+ `bit tag [component-patterns...]`
1833
+
1834
+ | **Arg** | **Description** |
1835
+ | ----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1836
+ | `component-patterns...` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes. By default, all new and modified are tagged. |
1837
+
1838
+ | **Option** | **Option alias** | **Description** |
1839
+ | ---------------------------- | :--------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1840
+ | `--message <message>` | `-m` | a log message describing latest changes |
1841
+ | `--unmodified` | `-u` | include unmodified components (by default, only new and modified components are tagged) |
1842
+ | `--editor [editor]` | | open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim). |
1843
+ | `--ver <version>` | `-v` | tag with the given version |
1844
+ | `--increment <level>` | `-l` | options are: [major, premajor, minor, preminor, patch, prepatch, prerelease], default to patch |
1845
+ | `--prerelease-id <id>` | | prerelease identifier (e.g. "dev" to get "1.0.0-dev.1") |
1846
+ | `--patch` | `-p` | syntactic sugar for "--increment patch" |
1847
+ | `--minor` | | syntactic sugar for "--increment minor" |
1848
+ | `--major` | | syntactic sugar for "--increment major" |
1849
+ | `--pre-release [identifier]` | | syntactic sugar for "--increment prerelease" and `--prerelease-id <identifier>` |
1850
+ | `--snapped` | | tag only components whose head is a snap (not a tag) |
1851
+ | `--unmerged` | | complete a merge process by tagging the unmerged components |
1852
+ | `--skip-tests` | | skip running component tests during tag process |
1853
+ | `--skip-auto-tag` | | skip auto tagging dependents |
1854
+ | `--soft` | | do not persist. only keep note of the changes to be made |
1855
+ | `--persist [skip-build]` | | persist the changes generated by --soft tag. by default, run the build pipeline, unless "skip-build" is provided |
1856
+ | `--disable-tag-pipeline` | | skip the tag pipeline to avoid publishing the components |
1857
+ | `--force-deploy` | | DEPRECATED. use --ignore-build-error instead |
1858
+ | `--ignore-build-errors` | | proceed to tag pipeline even when build pipeline fails |
1859
+ | `--increment-by <number>` | | (default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3. |
1860
+ | `--ignore-issues [issues]` | `-i` | ignore component issues (shown in "bit status" as "issues found"), issues to ignore: [MissingPackagesDependenciesOnFs, MissingManuallyConfiguredPackages, MissingComponents, UntrackedDependencies, ResolveErrors, RelativeComponents, RelativeComponentsAuthored, ParseErrors, MissingDists, LegacyInsideHarmony, MissingDependenciesOnFs, ImportNonMainFiles, MultipleEnvs, MissingLinksFromNodeModulesToSrc, CircularDependencies, DuplicateComponentAndPackage, MergeConfigHasConflict, NonLoadedEnv, ExternalEnvWithoutVersion, RemovedDependencies] to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "\*". |
1861
+ | `--ignore-newest-version` | `-I` | allow tagging even when the component has newer versions e.g. for hotfixes (default = false) |
1862
+ | `--fail-fast` | | stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed) |
1863
+ | `--build` | `-b` | locally run the build pipeline (i.e. not via rippleCI) and complete the tag |
1864
+ | `--all [version]` | `-a` | DEPRECATED (not needed anymore, it is the default now). tag all new and modified components |
1865
+ | `--scope [version]` | `-s` | DEPRECATED (use "--unmodified" instead). tag all components of the local scope |
1866
+ | `--force` | `-f` | DEPRECATED (use "--skip-tests", "--ignore-build-errors" or "--unmodified" instead). force-tag even if tests are failing and even when component has not changed |
1867
+ | `--disable-deploy-pipeline` | | DEPRECATED. use --disable-tag-pipeline instead |
1136
1868
 
1137
1869
  ---
1138
1870
 
1139
1871
  ## templates
1140
1872
 
1141
- **Workspace only**: yes
1142
- **Description**: list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)
1873
+ **Description**: list available templates for "bit create" and "bit new"
1874
+ list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)
1143
1875
 
1144
1876
  `bit templates`
1145
1877
 
1146
- | **Option** | **Option alias** | **Description** |
1147
- | ------------ | :--------------: | --------------------- |
1148
- | `--show-all` | `-s` | show hidden templates |
1878
+ | **Option** | **Option alias** | **Description** |
1879
+ | ---------------------- | :--------------: | ---------------------------------------- |
1880
+ | `--show-all` | `-s` | show hidden templates |
1881
+ | `--aspect <aspect-id>` | `-a` | show templates provided by the aspect-id |
1149
1882
 
1150
1883
  ---
1151
1884
 
1152
1885
  ## test
1153
1886
 
1154
1887
  **Alias**: `at`
1155
- **Workspace only**: yes
1156
- **Description**: test set of components in your workspace
1157
-
1158
- `bit test [pattern]`
1888
+ **Description**: test components in the workspace. by default only runs tests for new and modified components
1159
1889
 
1160
- | **Option** | **Option alias** | **Description** |
1161
- | -------------------- | :--------------: | -------------------------------------------------------------------- |
1162
- | `--watch` | `-w` | start the tester in watch mode. |
1163
- | `--debug` | `-d` | start the tester in debug mode. |
1164
- | `--all` | `-a` | test all components, not only new and modified |
1165
- | `--junit <filepath>` | | write tests results as JUnit XML format into the specified file path |
1166
- | `--coverage` | | show code coverage data |
1167
- | `--env <id>` | `-e` | test only the given env |
1168
- | `--scope <scope>` | `-s` | name of the scope to test |
1890
+ `bit test [component-pattern]`
1169
1891
 
1170
- ---
1171
-
1172
- ## ui-build
1892
+ | **Arg** | **Description** |
1893
+ | ------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1894
+ | `component-pattern` | component name, component id, or component pattern. use component pattern to select multiple components. use comma to separate patterns and "!" to exclude. e.g. "ui/\*\*, !ui/button" wrap the pattern with quotes |
1173
1895
 
1174
- **Alias**: `c`
1175
- **Workspace only**: yes
1176
- **Description**: build production assets for deployment.
1177
-
1178
- `bit ui-build [type]`
1896
+ | **Option** | **Option alias** | **Description** |
1897
+ | ---------------------- | :--------------: | --------------------------------------------------------------------------------------- |
1898
+ | `--watch` | `-w` | start the tester in watch mode. |
1899
+ | `--debug` | `-d` | start the tester in debug mode. |
1900
+ | `--all` | `-a` | DEPRECATED. (use --unmodified) |
1901
+ | `--unmodified` | `-u` | test all components, not only new and modified |
1902
+ | `--junit <filepath>` | | write tests results as JUnit XML format into the specified file path |
1903
+ | `--coverage` | | show code coverage data |
1904
+ | `--env <id>` | `-e` | test only components assigned the given env |
1905
+ | `--scope <scope-name>` | `-s` | DEPRECATED. (use the pattern instead, e.g. "scopeName/\*\*"). name of the scope to test |
1179
1906
 
1180
1907
  ---
1181
1908
 
1182
1909
  ## undeprecate
1183
1910
 
1184
- **Workspace only**: no
1185
1911
  **Description**: undeprecate a deprecated component (local/remote)
1186
1912
 
1187
1913
  `bit undeprecate <id>`
@@ -1191,64 +1917,105 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
1191
1917
  ## uninstall
1192
1918
 
1193
1919
  **Alias**: `un`
1194
- **Workspace only**: yes
1195
1920
  **Description**: uninstall dependencies
1196
1921
 
1197
1922
  `bit uninstall [packages...]`
1198
1923
 
1199
1924
  ---
1200
1925
 
1201
- ## untag
1202
-
1203
- **Workspace only**: yes
1204
- **Description**: revert version(s) tagged for component(s)
1205
- https://bit.dev/reference/components/tags#undoing-a-tag
1206
- you can use a pattern for multiple ids, such as bit untag "utils/\*". (wrap the pattern with quotes to avoid collision with shell commands)
1207
-
1208
- `bit untag [id] [version]`
1209
-
1210
- | **Option** | **Option alias** | **Description** |
1211
- | ---------- | :--------------: | ----------------------------------------------------------------------------------------------------- |
1212
- | `--all` | `-a` | revert tag for all tagged components |
1213
- | `--soft` | | harmony - revert only soft-tags (components tagged with --soft flag) |
1214
- | `--force` | `-f` | revert the tag even if used as a dependency. WARNING: components that depend on this tag will corrupt |
1215
-
1216
- ---
1217
-
1218
1926
  ## update
1219
1927
 
1220
1928
  **Alias**: `up`
1221
- **Workspace only**: yes
1222
1929
  **Description**: update dependencies
1223
1930
 
1224
- `bit update`
1931
+ `bit update [package-patterns...]`
1225
1932
 
1226
- | **Option** | **Option alias** | **Description** |
1227
- | ---------- | :--------------: | ------------------------------------------ |
1228
- | `--yes` | `-y` | automatically update all outdated packages |
1933
+ | **Arg** | **Description** |
1934
+ | --------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
1935
+ | `package-patterns...` | a string list of package names, or patterns (separated by spaces or commas), e.g. "@teambit/**,@my-org/ui/**". The patterns should be in glob format. By default, all packages are selected. |
1936
+
1937
+ | **Option** | **Option alias** | **Description** |
1938
+ | ---------- | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
1939
+ | `--yes` | `-y` | automatically update all outdated versions for packages specified in pattern (all if no pattern supplied) - use carefully as could result in breaking updates for dependencies |
1940
+ | `--patch` | | update to the latest patch version. Semver rules are ignored |
1941
+ | `--minor` | | update to the latest minor version. Semver rules are ignored |
1942
+ | `--major` | | update to the latest major version. Semver rules are ignored |
1229
1943
 
1230
1944
  ---
1231
1945
 
1232
1946
  ## use
1233
1947
 
1234
- **Workspace only**: yes
1235
- **Description**: set up aspects in the workspace/scope config
1948
+ **Description**: set aspects in the workspace/scope config to make them loadable by the workspace/scope
1236
1949
 
1237
- `bit use [ids...]`
1950
+ `bit use <component-id>`
1951
+
1952
+ | **Arg** | **Description** |
1953
+ | -------------- | :----------------------------: |
1954
+ | `component-id` | the component ID of the aspect |
1238
1955
 
1239
1956
  ---
1240
1957
 
1241
1958
  ## watch
1242
1959
 
1243
- **Workspace only**: yes
1244
- **Description**: watch a set of components
1960
+ **Description**: automatically recompile modified components (on save)
1961
+ by default, the watcher doesn't use polling, to keep the CPU idle.
1962
+ if this doesn't work well for you, run "bit config set watch_use_polling true" to use polling.
1245
1963
 
1246
1964
  `bit watch`
1247
1965
 
1248
1966
  | **Option** | **Option alias** | **Description** |
1249
1967
  | ------------------------ | :--------------: | ------------------------------------------------------------------------------------------------------------------------------------------------- |
1250
- | `--verbose` | `-v` | showing npm verbose output for inspection and prints stack trace |
1251
- | `--skip-pre-compilation` | | skip the compilation step before starting to watch |
1968
+ | `--verbose` | `-v` | show all watch events and compiler verbose output |
1969
+ | `--skip-pre-compilation` | | skip compilation step before starting to watch |
1252
1970
  | `--check-types [string]` | `-t` | EXPERIMENTAL. show errors/warnings for types. options are [file, project] to investigate only changed file or entire project. defaults to project |
1253
1971
 
1254
1972
  ---
1973
+
1974
+ ## ws-config
1975
+
1976
+ **Alias**: `workspace-config`
1977
+ **Description**: manage workspace config files
1978
+
1979
+ `bit ws-config <sub-command>`
1980
+
1981
+ ### ws-config write
1982
+
1983
+ **Usage**: `ws-config write`
1984
+
1985
+ **Description**: EXPERIMENTAL. write config files in the workspace. useful for IDEs
1986
+
1987
+ | **Option** | **Option alias** | **Description** |
1988
+ | ------------------------ | :--------------: | ---------------------------------------------------------------------------------------------------------------------------- |
1989
+ | `--clean` | `-c` | delete existing config files from the workspace. highly recommended to run it with "--dry-run" first |
1990
+ | `--writers <writers>` | `-w` | only write config files for the given writers. use comma to separate multiple writers. use ws-config list to see all writers |
1991
+ | `--silent` | `-s` | do not prompt for confirmation |
1992
+ | `--no-dedupe` | | write configs inside each one of the component's dir, avoid deduping |
1993
+ | `--dry-run` | | show the paths that configs will be written per env |
1994
+ | `--dry-run-with-content` | | use with --json flag. show the config content and the paths that will be written per env |
1995
+ | `--verbose` | `-v` | showing verbose output for writing |
1996
+ | `--json` | `-j` | json format |
1997
+
1998
+ ### ws-config clean
1999
+
2000
+ **Usage**: `ws-config clean`
2001
+
2002
+ **Description**: EXPERIMENTAL. clean (delete) written config files in the workspace. useful for IDEs
2003
+
2004
+ | **Option** | **Option alias** | **Description** |
2005
+ | --------------------- | :--------------: | ---------------------------------------------------------------------------------------------------------------------------- |
2006
+ | `--silent` | `-s` | do not prompt for confirmation |
2007
+ | `--writers <writers>` | `-w` | only clean config files for the given writers. use comma to separate multiple writers. use ws-config list to see all writers |
2008
+ | `--dry-run` | | show the paths of configs that will be cleaned |
2009
+ | `--json` | `-j` | json format |
2010
+
2011
+ ### ws-config list
2012
+
2013
+ **Usage**: `ws-config list`
2014
+
2015
+ **Description**: EXPERIMENTAL. list config writers
2016
+
2017
+ | **Option** | **Option alias** | **Description** |
2018
+ | ---------- | :--------------: | --------------- |
2019
+ | `--json` | `-j` | json format |
2020
+
2021
+ ---