Skip to content

Latest commit

 

History

69 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Just Utility

Release License Stars Language Build

A multi-call binary for Windows CLI utilities. File management, code interpretation, project scaffolding, and system tools — all from a single command set.

➡️ Read the full user guide →


Table of Contents


What Is Just Utility?

Just Utility is a collection of Windows CLI utilities packaged as individual executables — think of it as a miniature BusyBox for Windows. Each command wraps a common task (file operations, compiling code, network queries, project scaffolding) into a single cmd callable binary.

What It Does

  • Manage files — list, move, copy, delete, and inspect files with concise commands (ls, mv, rm, cat, fp, cf, lc)
  • Interpret code — compile and run C, C++, C#, and Java source files in one step (cci, cppi, csi, jvi)
  • Scaffold projects — generate skeleton directories for Java, Python, web, JS, PHP, and C/C++ projects (ctp)
  • Build Java projects — initialize, compile, package JARs, generate docs, and run with or without dependencies (jpb)
  • Query the system — display WiFi profiles, file properties, date/time, and locate files (wif, fp, dt, lc)
  • Launch tools — open Chrome with DevTools, Snipping Tool, File Explorer, and browser URLs (chrome-dev, snip, xr, wr)
  • Run remote scripts — execute Python/PHP scripts and JARs from predefined directories (pyr, jr, arts)
  • Assist Android dev — connect ADB, push/pull projects, install APKs, and run apps on devices (droid)

Why Use It?

Problem How Just Utility Solves It
Remembering long Windows commands Single short commands: ls instead of dir /B /O-D
Compiling + running code repeatedly One-step interpreters: cci hello compiles and runs hello.c
Setting up project structures ctp java myapp creates the full directory skeleton
Managing Java projects without an IDE jpb initializes, compiles, packages, and runs from the terminal
Finding WiFi passwords wif lists profiles and reveals the key with one command
Opening browser + DevTools chrome-dev <url> launches Chrome with devtools auto-opened

The Philosophy

  1. Minimal typing, maximum output. Every command is short and does exactly what you expect.
  2. Built on what's already there. Where possible, commands wrap built-in Windows utilities (type, dir, netsh, fsutil, findstr).
  3. Your workflow stays yours. No lock-in — each binary is independent and can be copied, renamed, or used standalone.

Use Cases

Scenario How Just Utility Helps
You're learning C/C++/Java/C# cci, cppi, jvi, csi compile and run your source in one command, measuring time
You frequently create project templates ctp generates the full directory tree for any language in seconds
You work with Java from the terminal jpb handles init, package creation, compilation, and JAR packaging
You need WiFi credentials in a pinch wif shows all profiles and prints the key in clear text
You manage Android devices droid connects via ADB, installs APKs, and runs apps automatically
You want a terminal-based file manager ls, mv, rm, cf, cat, fp cover all basic file operations
You run the same Python/JAR scripts daily pyr and jr run from fixed directories with a short command

Benefits

  • Zero configuration. Download the binaries and they work — no config files, no environment variables (except PATH).
  • Self-contained. Each .exe is standalone. Copy it to any Windows machine and run it.
  • Fast. Binaries are small (~250 KB each) and launch instantly.
  • Colorful output. Commands use ANSI colors for readability.
  • Built with LLVM/clang++. Modern compiler, clean code, easy to build from source.
  • Man-page style --help. Every command has detailed documentation built in.

Comparison

Aspect Just Utility BusyBox for Windows Manual CMD
Setup time ~10 seconds (add to PATH) Package manager required Nothing to install
File operations ls, mv, rm, cat, cf, fp, lc Similar dir, move, del, type, echo. >
Code compilation One-step interpreters None Manual clang / javac + run + cleanup
Project scaffolding ctp with 7 templates None Manual md and echo. >
Java build tool jpb with JAR packaging None Manual javac + jar
WiFi info wif — one command None Manual netsh wlan
Android integration droid — ADB automation None Manual ADB commands
Dependencies LLVM/clang++ (only for interpreters) None None
License Apache 2.0 GPL N/A

Installation

Option 1: Download from Releases

  1. Go to the Releases page
  2. Download the latest just-utility.zip
  3. Extract to a folder (e.g., C:\tools\just-utility)
  4. Add the folder to your PATH:
    setx PATH "%PATH%;C:\tools\just-utility\dist"

Option 2: Build from Source

# Prerequisites: LLVM/clang++ and GNU Make
git clone https://github.com/marcuwynu23/just-utility.git
cd just-utility
make all

Binaries will be in dist/.

Verify

justutil --help

Quick Start

# List available commands
justutil

# List files in current directory
ls

# Create a file
cf hello.txt

# Display its contents
cat hello.txt

# Compile and run a C program
cci hello

# Compile and run a Java program
jvi Hello

# Open File Explorer
xr

# Get WiFi info
wif

# Show help for any command
ls --help

CLI Reference

All commands accept --help or -h for detailed usage. Below is a quick overview.

File Operations

Command Description
cat Display file contents
cf Create an empty file
fp Display file properties
fstr Find string in source files
lc Locate a file or directory
ls List directory contents
mv Move or rename a file
rm Remove a file

Code Interpretation

Command Description Requires
cci C interpreter (compile + run) clang
cppi C++ interpreter (compile + run) clang++
csi C# interpreter (compile + run) csc
jvi Java interpreter (compile + run) javac/java

Project Scaffolding

Command Description Requires
arts Laravel Artisan command helper php
ctp Create project templates cf
jpb Java project builder javac/jar
sqlt3 Run SQLite3 source files sqlite3

System Utilities

Command Description
chrome-dev Open Chrome with DevTools
ct Clone current terminal instance
dt Display date and time
snip Open Windows Snipping Tool
wif Show WiFi profile information
wr Open URL/file in browser
xr Open Explorer in current directory

Launchers

Command Description Requires
droid Android device helper (droiddroid) ADB
jr Run JAR files from C:/jar/ java
pyr Run Python scripts from C:/scripts/py/ python
justutil Show this command list

See the full user guide for detailed documentation of every command, flag, and example.


Development

Prerequisites

Tool Version Purpose
LLVM/clang++ 18+ C++ compiler
GNU Make 3.81+ Build system
Git Any Version control

Build

make all        # Build all 26 binaries
make clean      # Remove built binaries

Test

tests\run.ps1   # Run the test suite

Project Structure

just-utility/
├── dist/              # Built binaries
├── docs/              # HTML documentation
│   └── index.html     # Command listing (categorized)
├── src/               # Source files
│   ├── <cmd>.cpp      # One file per command
│   ├── runner.cpp     # Shared runtime utility
│   ├── include/
│   │   └── runner.h   # Shared header
│   └── droidroid/     # Android device helper
├── tests/             # PowerShell test suite
├── Makefile           # Build system
└── README.md

Coding Standards

  • C++17
  • One .cpp file per command
  • All commands include runner.h
  • Use peculiar::runExe() for system calls
  • showHelp() static function for --help output
  • Man-page style help with sections: NAME, SYNOPSIS, DESCRIPTION, OPTIONS, ARGUMENTS, DEPENDENCIES, EXAMPLES

Architecture

  • Multi-call binary pattern. Each command is a standalone .exe sharing a common runtime (runner.cpp / runner.h).
  • System call abstraction. peculiar::runExe() wraps system() with thread-safe logging.
  • Windows-native. Commands use built-in Windows utilities (type, dir, netsh, fsutil, findstr, explorer) and standard system compilers (clang, javac, csc).
  • Self-documenting. Every command implements --help with man-page style output and has a corresponding HTML documentation page.
  • LLVM toolchain. Built with clang++ targeting x86_64-pc-windows-msvc.

Contributing

See CONTRIBUTING.md for full details on how to contribute, including the commit convention, PR process, and development workflow.


License

Licensed under the Apache License, Version 2.0.

Built with LLVM/clang++ on Windows.

About

A compact, automated command-line tool for Windows written in C++ with built-in and 3rd party utilities. Simplifies navigation, learning, and project development, including simple networking.

Topics

Resources

Contributing

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages