Installation
Install CEM and verify your installation.
Installation Methods
NPM Projects
For Node.js-based projects, install CEM as a development dependency:
npm install --save-dev @pwrs/cemOr with pnpm:
pnpm add -D @pwrs/cemGo Binary
Install the latest version directly with Go:
go install bennypowers.dev/cem@latestThis installs the cem binary to your $GOPATH/bin directory.
Gentoo Linux
Enable the bennypowers overlay, then install:
eselect repository enable bennypowers
emaint sync -r bennypowers
emerge dev-util/cemBuild from Source
Clone the repository and build locally:
git clone https://github.com/bennypowers/cem.git
cd cem
makeThe compiled binary will be available in the dist/ directory. To install it in
~/.local/bin, run:
make installVerify Installation
After installation, verify CEM is working:
cem versionYou should see the version number printed to your terminal.
Shell Completion
CEM supports shell completion for Bash, Zsh, Fish, and PowerShell. The completion scripts provide tab completion for commands, flags, and file paths.
Bash
To load completions in your current shell session:
source <(cem completion bash)To load completions for every new session, execute once:
Linux:
cem completion bash > /etc/bash_completion.d/cemmacOS:
cem completion bash > $(brew --prefix)/etc/bash_completion.d/cemZsh
To load completions in your current shell session:
source <(cem completion zsh)To load completions for every new session, execute once:
cem completion zsh > "${fpath[1]}/_cem"You will need to start a new shell for this setup to take effect.
Fish
To load completions in your current shell session:
cem completion fish | sourceTo load completions for every new session, execute once:
cem completion fish > ~/.config/fish/completions/cem.fishPowerShell
To load completions in your current shell session:
cem completion powershell | Out-String | Invoke-ExpressionTo load completions for every new session, add the output of the above command to your PowerShell profile.
Next Steps
After installation, set up CEM for your development environment:
- LSP Integration - Configure language server features in your editor
- MCP Integration - Set up AI assistant integration
- Getting Started - Create your first project