Skip to main content

just_core_cli 0.1.0 copy "just_core_cli: ^0.1.0" to clipboard
just_core_cli: ^0.1.0 copied to clipboard

The core of `just` (also `ju`), the Just ecosystem's command-line tool: projects, plugins and hooks, version sets, safe pubspec edits, transactions and downloads.

0.1.0 #

The first release of the core of just (and ju, the same tool for machines where just is another program), the Just ecosystem's command-line tool, for Windows, macOS and Linux. It knows no product of its own; the Just Game Engine's commands come from the just_game_engine_cli plugin.

  • Projects: create makes a project of a kind (--kind game, the default): flutter create, just.json, just_core_cli and the kind's plugin as one-line dev dependencies on pub.dev versions (--local writes them all the same, and adds pubspec_overrides.yaml entries pointing every just_* package in that folder at its checkout), then the plugin's create hook fills it in. On a failure the folder is deleted when create made it, or emptied when it was there already, empty. doctor checks the tool on the PATH, Flutter, the tools' versions, just.json, links and git ignores, then runs each plugin's doctor hook; check runs their check hooks, and fails when nothing was checked; dev link|unlink points a project at local checkouts, with each plugin's link hook after a link and before and after an unlink.
  • Upgrades: upgrade moves the tools to this release's tool set (2026.10), each plugin's packages through its upgrade hook, with pub get, in one transaction — asking each migrate hook with --check before anything changes and again with the new packages before it commits — then runs the migrations (anything after -- goes to them). Up to date when nothing would move.
  • Plugins: packages add commands through just_plugin.json, from the project or installed globally, and hook into create, check, doctor, upgrade, migrate and link. The ecosystem's own run without asking when they come from a local checkout or github.com/just-unknown-dev, and from pub.dev only under the names the ecosystem publishes there (PluginTrust.onPubDev: just_game_engine_cli, published right after this release); any other asks once, the answer kept in the project's just.json or the user's plugins.json (which covers every project), and --yes never allows one. A hook that can't --check exits 2 or 64 and is warned about. With --json, a hook's own document is part of the result; upgrade hooks always get --json. Options reach hooks before any --, values as --name=value. just help <a plugin's command> is the plugin's own help.
  • Pinning: a global just hands a run to the version the project pins in its dev dependencies.
  • Scripts: every command takes --json, --yes, --verbose and --project (before any --). Exit codes: 0 done; 1 failed — a change is rolled back first, and a rollback that fails itself is named and finished by the next change; a failed migration after upgrade, or a failed link hook after dev link|unlink, exits 1 with the change kept; 2 called wrongly. A plugin's command, or a run handed to the pinned just, exits with that process's code (128 + the signal for one a signal ended).
  • Every platform: the toolkit in package:just_core_cli/just_core_cli.dart — JSON, versions, SHA-256, ZIP read and write in memory, pubspec edits, templates, version sets, just.json, plugin manifests — runs on the web too, as JavaScript and as WebAssembly; there the library holds only the toolkit, and the command framework is exported everywhere else. project.dart and fetch.dart need dart:io.
  • The toolkit plugins build on: the command framework, runTrustedPlugin, Finding and PluginManifest; just.json, which keeps every key it doesn't know as it was; PackageSet and the ToolSet; template filling (TemplateRenderer, ProjectNames, GitIgnores); pubspec edits that keep every other byte, inside the block each tool names (PubspecEditor, ManagedBlock, PubspecConstraints); all-or-nothing project changes that keep permissions and symbolic links (and never write through one that leads out of the project), with a lock (taken over at once from a crashed process on the same machine and system) and crash recovery, whose trash is .just_trash/<tool>/ unless the tool names its own; pub and the Flutter SDK (FLUTTER_ROOT first, then the project's last, then flutter on the PATH, a snap's included); HTTPS-only downloads (redirects included) pinned by size and SHA-256; ZIP reading that refuses unsafe archives, and reproducible ZIP writing.
1
likes
0
points
241
downloads

Publisher

verified publisherjustunknown.com

Weekly Downloads

The core of `just` (also `ju`), the Just ecosystem's command-line tool: projects, plugins and hooks, version sets, safe pubspec edits, transactions and downloads.

Repository (GitHub)
View/report issues

Topics

#cli #gamedev #game-engine #flutter

License

unknown (license)

Dependencies

args, just_deflate

More

Packages that depend on just_core_cli