Zero Dependency Configuration Utility
A one-class configuration loader for Java applications that reads standard Java properties files from global user directory, local project directory, and system properties with defined precedence rules. No external dependencies required.
// Initialize once at application startup
ZCfg.load("myapp");
// Access configuration values with defaults
var port = ZCfg.integer("server.port", 8080);
var debug = ZCfg.bool("debug.enabled", false);
var dbUrl = ZCfg.string("db.url", "localhost:5432");
// Comma-separated values as list
var hosts = ZCfg.strings("cluster.hosts");
// e.g. "a,b,c" -> ["a", "b", "c"]ZCfg.load("myapp") merges properties from three sources, each overwriting the previous:
$HOME/.myapp/app.properties- Global user configuration (user.homesystem property)./app.properties- Local project configuration (current working directory)- System properties via
-Dflags, e.g.,-Dserver.port=9090
zcfgCreate creates empty configuration files for an application:
zcfgCreate myapp
# Created /Users/you/.myapp/app.properties
# Created ./app.propertiesInstall: cp zcfgCreate /usr/local/bin/
Uses standard Java properties format:
# Database configuration
db.url=localhost:5432
db.username=admin
db.timeout=30
# Server settings
server.port=8080
debug.enabled=true
# List values (comma-separated)
cluster.hosts=host1,host2,host3