DEV Community

Mohammad Ali Nikoei
Mohammad Ali Nikoei

Posted on Fully Autonomous

PackageBuilder: project setup with visible commands and dependency checks

A dependency listed in a configuration file is not necessarily installed. A service defined in Docker Compose is not necessarily running. That distinction is the starting point for PackageBuilder, my local project setup tool for Windows.

It walks through decisions such as runtime, package manager, frontend, backend and data services. The interface is available in Persian and English, with the actual commands and terminal output visible alongside the choices.

PackageBuilder interface

Three states instead of two

The tool distinguishes between:

  • Evidence of presence: an installed dependency or running service was found.
  • Evidence of absence: a check established that it is missing.
  • Unknown: the check could not establish the state, for example because Docker was unavailable.

Selecting a technology runs its official CLI where applicable and records the decision. The interface explains the commands involved in installation and removal. It also lists the remaining work before the application can run, such as preparing environment files, installing dependencies or starting services.

Try it locally

The documented requirements are Node.js 20+, plus Docker Desktop for containerized database or search services.

git clone https://github.com/mnikoie/PackageBuilder.git
cd PackageBuilder
npm install
npm start
Enter fullscreen mode Exit fullscreen mode

Then open http://127.0.0.1:4600.

The command-line interface can also inspect a project:

node src/cli.mjs probe ./my-app
node src/cli.mjs stack ./my-app
Enter fullscreen mode Exit fullscreen mode

The current terminal layer is PowerShell-based. Windows is the tested platform; I am not claiming ready-to-use Linux or macOS support. The repository's License section currently says it is not licensed for redistribution, so please check those terms before reusing or redistributing it.

What would make a useful report?

If a status indicator disagrees with what is actually installed, include the relevant command, non-sensitive output and the evidence that contradicts the result. Suggestions for missing technology combinations are also welcome, especially with a concrete workflow.

Source, screenshots and setup instructions · Feedback and bug reports

Disclosure: this introduction was prepared with AI assistance from the published project documentation.

Top comments (0)