The new dooboo-cli

Hyo
dooboolab
Published in
3 min readJun 27, 2023

The global dooboo CLI has been superseded by npx dooboo.

Previous dooboo-cli

For some time now, we’ve been managing a plethora of boilerplates to jumpstart our projects quickly. However, as the number of these boilerplates increased, we felt the need for a router that could manage them all in one place, which led us to create dooboo-cli.

As you can see in our previous post at https://medium.com/dooboolab/announcing-dooboo-cli-v3-5c9fceeb2ac4, we’ve been managing our boilerplates for a long time with our own CLI tool.

As the number of boilerplates grew, there were stacks that no longer aligned with our interest. The increasing variety of templates also became challenging to manage. Example below.

Sample templates from previous dooboo-cli

Recently, we noticed many CLI tools started to discourage global installations, prompting users to adopt npx. In this regard, I recommend this article:
https://javascript.plainenglish.io/why-you-should-stop-installing-npm-packages-globally-1b56b97b70cd

Seizing this opportunity, we decided to migrate our CLI tool, enabling the use of the `npx dooboo` command, and committed to managing only the boilerplates we currently use.

Going forward, dooboo-cli can be accessed using the `npx dooboo` command, and we will only maintain projects composed of Expo and Expo Router. Previously, we managed separate boilerplates for TS, JS, React, React Native, and Expo. Still, given that Expo Config Plugin exists and web development is perfectly feasible with React Native Web, we aim to focus on a single boilerplate and maximize productivity.

We plan to add boilerplates based on Expo and Expo Router in the future. More importantly, we hope to keep improving this foundation so that our CLI tool can be an excellent companion for writing code atop our boilerplates.

Lastly, our boilerplate comes with dooboo-ui pre-installed. This is a UI Framework that we’ve developed in-house over the years. It’s lightweight and simple, designed to be conveniently accessible to beginners. This is because popular UI Frameworks often tend to feel heavy and complicated for novices. By default, we provide a very simple color system, fonts, and a rich set of icons as assets. Inbuilt theme settings like dark mode / light mode are available, and we also have an internalized way of implementing responsive designs. While the array of components under development may not be extensive, the foundational system and the philosophy we’ve built upon can prevent many communication errors during development and establish a solid groundwork for creating high-quality apps right from the beginning.

If you’re interested in learning more, please visit our repository at github.com/dooboolab-community/dooboo-ui for more detailed information.

Thank you!

--

--