pub(super) const ROOT_ABOUT: &str = "Install and maintain repo-scoped agent packages";
pub(super) const ROOT_LONG_ABOUT: &str = r#"Nodus adds AI agent packages to this repo and keeps the generated tool files in sync.
Most common tasks:
nodus add nodus-rs/nodus --adapter codex
nodus doctor
nodus sync
nodus update
Typical workflows:
first install: add -> doctor
rebuild current setup: sync -> doctor
upgrade packages: update -> doctor
remove a package: remove -> doctor
"#;
pub(super) const ROOT_AFTER_LONG_HELP: &str = r#"Need details? Run `nodus <command> --help` for examples and flag details.
Project-scoped installs are the default. Use `--global` on `nodus add` or `nodus remove` when you want user-level state instead of repo state.
"#;
pub(super) const ADD_ABOUT: &str = "Add a dependency and run sync";
pub(super) const ADD_LONG_ABOUT: &str = r#"Install one package into this repo and immediately write the managed files the selected AI tool needs.
Most common use:
nodus add nodus-rs/nodus --adapter codex
By default Nodus installs the whole package. Wrapper packages that expose multiple child packages are added with no child packages enabled until you select `members` manually or pass `--accept-all-dependencies`.
What this changes:
- creates or updates `nodus.toml`
- resolves and records exact package revisions in `nodus.lock`
- writes managed files under tool folders such as `.codex/` or `.claude/`
Run `nodus doctor` next to verify the repo is healthy."#;
pub(super) const ADD_AFTER_LONG_HELP: &str = r#"Examples:
nodus add nodus-rs/nodus --adapter codex
nodus add ./vendor/playbook --adapter claude
nodus add owner/repo --tag v1.2.3 --adapter codex
nodus add owner/marketplace --accept-all-dependencies --adapter codex
nodus add owner/repo --global --adapter codex
After a project-scoped install, run `nodus doctor` to confirm the repo is consistent."#;
pub(super) const REMOVE_ABOUT: &str = "Remove a dependency and prune its managed outputs";
pub(super) const REMOVE_LONG_ABOUT: &str = r#"Remove a configured dependency, update `nodus.toml`, and prune the runtime files that dependency no longer owns.
Use this when you want to delete a package from the repo and keep the remaining managed files aligned with the current manifest.
Run `nodus doctor` next to confirm the repo is still consistent."#;
pub(super) const REMOVE_AFTER_LONG_HELP: &str = r#"Common options:
nodus remove <package>
nodus remove <package> --global
nodus remove <package> --dry-run
Examples:
nodus remove nodus
nodus remove nodus --global
nodus remove nodus --dry-run"#;
pub(super) const LIST_ABOUT: &str = "List configured dependencies and any locked metadata";
pub(super) const LIST_LONG_ABOUT: &str = "List the dependencies recorded in `nodus.toml` together with any resolved metadata from `nodus.lock`.";
pub(super) const LIST_AFTER_LONG_HELP: &str = r#"Examples:
nodus list
nodus list --json"#;
pub(super) const INFO_ABOUT: &str = "Display resolved package metadata";
pub(super) const INFO_LONG_ABOUT: &str = r#"Inspect a package without changing the current repo.
Use this when you want to see discovered skills, agents, rules, commands, managed exports, or the resolved ref before you install or update a package."#;
pub(super) const INFO_AFTER_LONG_HELP: &str = r#"Examples:
nodus info nodus-rs/nodus
nodus info ./vendor/playbook
nodus info nodus --json"#;
pub(super) const REVIEW_ABOUT: &str =
"Use an AI review agent to assess whether a package graph looks safe to use";
pub(super) const REVIEW_LONG_ABOUT: &str = r#"Ask an AI review agent to assess whether a package graph looks safe to use before you install or update it."#;
pub(super) const REVIEW_AFTER_LONG_HELP: &str = r#"Examples:
nodus review
nodus review owner/repo --tag v1.2.3
nodus review owner/repo --provider anthropic"#;
pub(super) const OUTDATED_ABOUT: &str =
"Check configured dependencies for newer tags or branch head changes";
pub(super) const OUTDATED_LONG_ABOUT: &str = r#"Check whether configured dependencies have newer tags available, or whether tracked branches moved forward, without changing the repo."#;
pub(super) const OUTDATED_AFTER_LONG_HELP: &str = r#"Examples:
nodus outdated
nodus outdated --json"#;
pub(super) const UPDATE_ABOUT: &str = "Update configured dependencies and resync managed outputs";
pub(super) const UPDATE_LONG_ABOUT: &str = r#"Resolve newer allowed versions for configured dependencies, rewrite `nodus.lock`, and sync managed outputs to match the new result.
Use this when you want to upgrade what this repo already declares.
Use `nodus update` when you want newer package revisions. Use `nodus sync` when you only want to rebuild from the versions you already have recorded.
Run `nodus doctor` next to verify the repo is consistent."#;
pub(super) const UPDATE_AFTER_LONG_HELP: &str = r#"Common options:
nodus update
nodus update --dry-run
nodus update --allow-high-sensitivity
Examples:
nodus update
nodus update --dry-run
nodus update --allow-high-sensitivity"#;
pub(super) const UPGRADE_ABOUT: &str =
"Check for or install a newer nodus CLI when the install method is supported";
pub(super) const UPGRADE_LONG_ABOUT: &str = r#"Check whether the installed `nodus` CLI can be upgraded, or install the newer version when the current install method supports that workflow."#;
pub(super) const UPGRADE_AFTER_LONG_HELP: &str = r#"Examples:
nodus upgrade --check
nodus upgrade"#;
pub(super) const RELAY_ABOUT: &str = "Relay linked managed edits back into a maintainer checkout";
pub(super) const RELAY_LONG_ABOUT: &str = r#"Relay edits from managed runtime files in a consumer repo back into a maintainer checkout.
This is mainly for package maintainers. Most users do not need `relay` in normal package consumption workflows."#;
pub(super) const RELAY_AFTER_LONG_HELP: &str = r#"Examples:
nodus relay nodus --repo-path ../nodus
nodus relay nodus --watch
nodus relay nodus --repo-path ../nodus --create-missing"#;
pub(super) const INIT_ABOUT: &str = "Create a minimal nodus.toml and example skill";
pub(super) const INIT_LONG_ABOUT: &str = "Create a minimal `nodus.toml` and example package content when you are starting a new Nodus package repo.";
pub(super) const INIT_AFTER_LONG_HELP: &str = r#"Examples:
nodus init
nodus init --dry-run"#;
pub(super) const SYNC_LONG_ABOUT: &str = r#"Resolve the dependencies already declared in `nodus.toml` and write the managed adapter outputs that should exist for the current repo.
Use this when you want to rebuild from what this repo already declares.
Use `nodus sync` after manifest changes, after editing package content locally, or when you want to rebuild outputs without upgrading dependencies.
Run `nodus doctor` next to verify the repo stays healthy."#;
pub(super) const SYNC_ABOUT: &str = "Resolve dependencies and write managed runtime outputs";
pub(super) const SYNC_AFTER_LONG_HELP: &str = r#"Common options:
nodus sync
nodus sync --locked
nodus sync --frozen
nodus sync --force
Examples:
nodus sync
nodus sync --locked
nodus sync --frozen
nodus sync --force
Use `--locked` when the lockfile must stay unchanged. Use `--frozen` when installs must come exactly from the existing `nodus.lock`."#;
pub(super) const CLEAN_ABOUT: &str = "Clear shared repository, checkout, and snapshot cache data";
pub(super) const CLEAN_LONG_ABOUT: &str = r#"Clear shared package cache data without changing `nodus.toml`, `nodus.lock`, or generated runtime outputs.
By default `nodus clean` removes only the cache entries referenced by the current repo's `nodus.lock`. Use `--all` when you want to clear the shared cache directories for every project under the selected store root.
The cache is shared, so project-scoped cleanup can make another repo redownload the same package data on its next `nodus sync`."#;
pub(super) const CLEAN_AFTER_LONG_HELP: &str = r#"Examples:
nodus clean
nodus clean --dry-run
nodus clean --all
After cleaning the cache, run `nodus sync` again when you want Nodus to recreate the missing mirrors, checkouts, and snapshots."#;
pub(super) const COMPLETION_ABOUT: &str = "Generate shell completion scripts";
pub(super) const COMPLETION_LONG_ABOUT: &str = "Generate shell completion scripts for `nodus` so the shell can suggest commands and flags interactively.";
pub(super) const DOCTOR_ABOUT: &str =
"Validate lockfile, shared store, and managed output consistency";
pub(super) const DOCTOR_LONG_ABOUT: &str = r#"If Nodus feels broken, start here.
Default behavior:
- runs the current read-only doctor check
- reports repo consistency problems without changing anything
- treats `--check` and `--force` as reserved mode flags for upcoming flows
Validate that `nodus.toml`, `nodus.lock`, the shared store, and the managed adapter outputs are still in sync.
Run this after `nodus add`, `nodus sync`, `nodus update`, or `nodus remove` when you want a final health check."#;
pub(super) const DOCTOR_AFTER_LONG_HELP: &str = r#"Common commands:
nodus doctor
nodus doctor --check
nodus doctor --force
nodus doctor --json
Flag note:
`--check` and `--force` parse today but do not change doctor behavior yet.
Examples:
nodus doctor
nodus doctor --check
nodus doctor --force
nodus doctor --json"#;