self-update
self-update
refreshes DevTools through its owning package manager.
Non-global execution runs cpx update fast-forward/dev-tools
without
changing the consumer's Composer manifest or lockfile.
Usage
vendor/bin/dev-tools self-update
For CPX consumption, update reviewed exact version selectors explicitly. Cache refresh does not change a pinned script, workflow input or skill-source ref, so adopting a newer release still requires a reviewed pin change.
When the standalone dev-tools
binary is itself loaded from Composer's
global installation, self-update
automatically targets
composer global update fast-forward/dev-tools
. Other execution uses the
CPX cache update route, including execution from a project-local binary.
Global runtime options
The standalone DevTools binary also accepts Composer-like global runtime options before the command name:
vendor/bin/dev-tools --working-dir=/path/to/project tests
vendor/bin/dev-tools --workspace-dir=.artifacts reports
vendor/bin/dev-tools --auto-update tests
--working-dir
(or -d
) switches the process directory before resolving
paths, managed files, or command defaults. This lets a globally installed
binary operate on another project without first changing shell directories.
Composer executions can use Composer's own --working-dir
/-d
option.
--workspace-dir
(or -w
) changes where generated DevTools artifacts and
caches are written when command-specific paths are omitted. It does not change
the project root selected by --working-dir
. Composer script wrappers can use
FAST_FORWARD_WORKSPACE_DIR=.artifacts
to apply the same workspace policy.
Explicit command options such as --target
, --coverage
, --metrics
,
and --cache-dir
continue to take precedence over the workspace default.
--auto-update
runs the self-update flow before the requested command. The
same behavior MAY be enabled with FAST_FORWARD_AUTO_UPDATE=1
. When the
active dev-tools
binary is already installed globally, auto-update also
targets the global installation by default. Auto-update failures are reported
as warnings and do not block the requested command.
Version freshness check
When DevTools runs from an installed package, the binary checks Composer
metadata for the latest stable fast-forward/dev-tools
release. If a newer
stable version is available, DevTools prints a warning recommending
dev-tools self-update
. This check is best-effort: network, Composer, or
metadata failures are ignored so the requested command can continue normally.
The check is skipped automatically in CI environments, including GitHub
Actions, so freshly installed consumer workflows do not spend time querying
release metadata. Set FAST_FORWARD_SKIP_VERSION_CHECK=1
to disable the
warning in other non-interactive contexts.