Skip to content

The official Contentful command line interface. Use Contentful features straight from the command line!

License

Notifications You must be signed in to change notification settings

nnagulavancha-incomm/contentful-cli

 
 

Repository files navigation

Contentful CLI

Contentful's command line interface tool. Use Contentful features straight from your CLI.

npm Build Status codecov

Contentful provides a content infrastructure for digital teams to power content in websites, apps, and devices. Unlike a CMS, Contentful was built to integrate with the modern software stack. It offers a central hub for structured content, powerful management and delivery APIs, and a customizable web app that enable developers and content creators to ship digital products faster.

🚀 Features

  • Securely login and logout with our OAuth service.
  • Manage spaces - List, create, ...
  • Export your space to a JSON file.
  • Import your space from a JSON file.
  • Execute migration scripts written in the Contentful Migration DSL
  • Generate migration scripts for the Contentful Migration DSL from existing spaces.
  • Seed your space with example data.
  • Manage installation of extensions in a space.
  • Run a guide which introduces you to the Contentful basics.
  • Find all available commands in the docs section.
  • More to come soon! 🚀

☁️ Installation

Using npm:

npm install -g contentful-cli

Using yarn:

yarn global add contentful-cli

Please note that for the non standalone versions you need node => v8 to use the CLI.

✋ Usage

Use the --help parameter to display the help section for CLI tool or combined with a specific command to get the help section for that command.

contentful --help
# or
contentful space --help

Enable bash-completion

To enable bash-completion for available commands use the completion command and concat the generated script to your .bashrc or .bash_profile.

contentful completion

Using the CLI tool with a proxy

You can save the proxy configuration in your .contentfulrc.json via:

contentful config add --proxy user:auth@host:port

We also respect the http(s)_proxy environment variables:

https_proxy=user:auth@host:port contentful

When multiple proxy configurations exists, precedence is taken in this form:

  1. http_proxy takes precedence over .contentfulrc.json
  2. https_proxy takes precedence over .contentfulrc.json
  3. https_proxy takes precedence over http_proxy

📚 Documentation

More detailed documentation for every command can be found in the docs section.

🛠️ Development

After installing the dependencies, there is a trick to get your version of the CLI tool available globally on your system:

npm link

This may collide with your already globally installed Contentful CLI. Make sure to remove that one first.

🤖 Testing

End-To-End Functional Tests

⚠️ Environment variables should be set:

CLI_E2E_CMA_TOKEN = <cma_auth_token>
CLI_E2E_ORG_ID = <organization_id>

npm:

npm run test:e2e

or using AVA:

$ ava test/integration/** --verbose --serial

⚠️ Since the e2e tests are running in serial mode currently, you should be logged out or rm ~/.contentfulrc.json

❓ Support

If you have a problem with this tool, please file an issue here on Github.

If you have other problems with Contentful not related to this library, you can contact Customer Support.

✍️ Contributing

See CONTRIBUTING.md

📜 License

MIT

About

The official Contentful command line interface. Use Contentful features straight from the command line!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.8%
  • Other 0.2%