Skip to content

Latest commit

 

History

History
76 lines (59 loc) · 3.77 KB

README.md

File metadata and controls

76 lines (59 loc) · 3.77 KB

DX Commands Tweet

Cross-language commands for unified developer experience.

The DX Commands initiative aims to standardize development commands across various programming languages and framework, ensuring uniform commands for everyday tasks.

It establishes a "contract" for developers, ensuring that commands like build, reset, and info consistently perform the same functions in every project.

Commands

Command Short description
build Build or rebuild the project
assemble Assemble a codebase using project code and all required dependencies
provision Provision application within assembled codebase
info Display project information
lint Check coding standards for violations
lint-fix Fix violations in coding standards
test Run tests
reset Reset project to the default state
start Start development environment
stop Stop development environment
logs Show logs
doctor Identify issues and offer resolutions for a stack
update Update project files and tooling

Command wrapper

The commands are usually implemented as a command wrapper using a shell script, package configuration (e.g., package.json or composer.json), or a task runner Makefile, Ahoy, or Task.

Example

The example implementation of the commands is available in the .ahoy.yml file.

Check it out locally and run ahoy build to see how it works (you need to have Ahoy installed):

$ ahoy build
[INFO] Building project
Would run pre-flight checks.
>> All containers and build files will be removed. Proceed? [y/N] y
Would remove containers and all build files.
Would build and start Docker containers.
Would assemble project and all dependencies.
Would run provision operations.
Would find problems with current project setup.
Would print project information
[INFO] Build complete

Existing implementations

Similar and partial implementations

Feedback and contribution

Please feel free to provide feedback or propose to add more commands to the proposed list by opening a new issue.