@bedframe/cli v0.0.87
@bedframe/cli
The Bedframe Command Line Interface (CLI) lets you make and manage your BED directly from the terminal.
Installation
# with bun
bun add @bedframe/cli -g
# with pnpm
pnpm add @bedframe/cli -g
# with npm
npm install @bedframe/cli -g
# with yarn
yarn add @bedframe/cli -g
After installation, you will have access to the bedframe
executable in your command line. You can verify that it is properly installed by simply running bedframe
, which should present you with an intro and help message.
>_
B R O W S E R
E X T E N S I O N
D E V E L O P M E N T
F R A M E W O R K
@bedframe/cli v0.0.78
Usage: @bedframe/cli [options] [command]
Bedframe CLI - your Browser Extension Development framework (dev utility)
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
make [options] [name] make your B E D
version [options] create or update git release of current version (changeset version)
publish [options] publish new or update existing extension(s)
- chrome: Chrome Web Store (C W S)
- firefox: Mozilla/Firefox Add-ons (A M O)
- edge: MS Edge Add-ons (M E A)
dev [browsers] start Vite dev server for one or more browsers concurrently
build [browsers] generate prod builds for 1 or more browsers concurrently
zip [options] [browsers] zip browser dist directories
help [command] display help for command
You can check you have the right version with this command:
bedframe --version
Making your BED
To create a new bedframe project, run:
bedframe make
Then follow the prompts!
You can specify the project name
as the first argument of the make
command. Using .
for the project name
will scaffold the project in the current directory.
# scaffold project called `chrome-extension`
bedframe make chrome-extension
# scaffold project in the current directory
bedframe make .
You will then be prompted to configure your BED, picking Framework
, Language
, Browser
to target, etc. All configurations can be manually edited once you generate the project.
Commands
M A K E
The Bedframe make
command walks you through creating a Vite-powered, prod-ready Browser Extension Environment: one codebase continously deployed to version control and automatically published to all browser stores (currently Chrome, Firefox, and Edge).
You end up with a familiar Vite-powered project you're used to.
Run the make
command to launch the project gen prompts.
Alternatively: this command is also available as the standalone create-bedframe
package.
>_
B R O W S E R
E X T E N S I O N
D E V E L O P M E N T
F R A M E W O R K
@bedframe/cli v0.0.78
Usage: @bedframe/cli make [options] [name]
make your B E D
Arguments:
name project name
Options:
-b, --browsers <browsers> comma-separated list browsers (chrome, edge, firefox, etc)
-v, --version <version> project version (0.0.1)
-d, --description <description> project description
-a, --author <author> project author (name, email, url)
--license <license> project license (MIT)
-r, --private visibility of project (true)
-t, --type <type> extension type (popup)
--override <override> page to override (newtab)
--options <options> whether to and how render options (embedded)
-p, --packageManager <packageManager> package manager to use (pnpm)
-f, --framework <framework> framework to use (react)
-l, --language <language> language to use (typescript)
-s, --style <style> css framework to use (tailwind)
-o, --lintFormat add linting with formatting (true)
-e, --tests add tests (vitest + testing library) (true)
-g, --git initialize git for source control (true)
-h, --gitHooks use git hooks (true)
-c, --commitLint use commit linting (true)
-x, --changesets use changesets (true)
-i, --installDeps install dependencies (true)
-y, --yes make your BED w/ preconfigured defaults (false)
--help display help for command
Args
Flags / Options
You can optionally by-pass the prompts if you pass in the requisite flags to the make
command.
As an example, to scaffold a multi-extension project i.e. BED environment targeting Chrome, Brave, Opera and Edge browsers you can run:
$ bedframe make multi-extension-project \
--browsers 'chrome, firefox, safari, brave, opera, edge' \
--version '0.0.0' \
--description 'this is my BED! there are many like it, but this one is... MINE!!!' \
--author 'joe, joe@bedframe.dev, https://bedframe.dev' \
--license MIT \
--private \
--type overlay \
--override newtab \
--options embedded \
--packageManager bun \
--framework react \
--language typescript \
--style tailwind \
--lintFormat \
--tests \
--git \
--gitHooks \
--commitLint \
--changesets \
--installDeps
If any required configuration isn't passed in via flags
the CLI will prompt you for the missing requirements.
Options
Flag (short) | Flag (long) | Type | Description | Default |
---|---|---|---|---|
-v | --version | string | Specify project version | 0.0.1 |
-b | --browsers | Browser[] | Specify comma-separated list of target browsers | chrome |
-p | --packageManager | PackageManager | Specify package manager to use | yarn |
-f | --framework | Framework | Specify framework to use | react |
-l | --language | Language | Specify language to use | typescript |
-s | --style | Style | Specify CSS solution to use | tailwind |
-o | --lintFormat | boolean | Configure linting with formatting | true |
-g | --git | boolean | Initialize git source control | true |
-h | --gitHooks | boolean | Add git hooks (Husky + lint staged) | true |
-t | --tests | boolean | Add tests (Vitest + Testing Library + jsdom) | true |
-c | --commitLint | boolean | Add commit linting | true |
-x | --changesets | boolean | Add changesets | true |
-i | --installDeps | boolean | Add & install dependencies | true |
-y | --yes | boolean | Set up Bedframe w/ preconfigured defaults | false |
--help | display help for command |
V E R S I O N
create or update git release of current version
>_
B R O W S E R
E X T E N S I O N
D E V E L O P M E N T
F R A M E W O R K
Usage: @bedframe/cli version [options]
create or update git release of current version (changeset version)
Options:
--ignore <package> skip a package from being published
--snapshot create a snapshot release for testing
-h, --help display help for command
P U B L I S H
publish new or update existing extension(s)
>_
B R O W S E R
E X T E N S I O N
D E V E L O P M E N T
F R A M E W O R K
Usage: @bedframe/cli publish [options]
• publish new or update existing extension(s)
├ • C W S: Chrome Web Store
├ • A M O: Mozilla/Firefox Add-ons
└ • M E A: MS Edge Add-ons
Options:
-b, --browsers <browsers...> specify browsers to publish (chrome,firefox,edge)
-h, --help display help for command
D E V
start vite dev server for 1 or more browsers. alias for vite dev w/ --mode <browser>
B U I L D
generate prod builds for 1 or more browsers alias for vite build w/ --mode <browser>
Z I P
create zip archive(s) for 1 or more browsers
>_
B R O W S E R
E X T E N S I O N
D E V E L O P M E N T
F R A M E W O R K
Usage: @bedframe/cli zip [options] [browsers]
zip browser dist directories
Arguments:
browsers list of browser names
Options:
-d, --distDir <distDir> current dist dir to create archive from (e.g. -d
./dist/<browser>)
-n, --name <name> what to name the zip file (including .zip)
-h, --help display help for command
9 months ago
9 months ago
11 months ago
11 months ago
12 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago