add

Install a course from GitHub, the catalog, a URL or a local folder.

npx dojofoo add <source> [--force] [--master] [--yes] [--agent <a,b>]

Sources

SourceExample
GitHub repositorynpx dojofoo add dojofoo/effect-ts
Catalog namenpx dojofoo add effect-ts
Tarball URLnpx dojofoo add https://example.com/course.tgz
Local foldernpx dojofoo add ../my-course

Options

OptionDescription
--forceReplace a course that's already installed
--masterInstall an editable copy with its authoring files, to build on it. Respect the course's license.
--yesInstall a course with security warnings without asking. A failed check still stops the install.
--agent <a,b>Also set up these agents, as install does

What it does

  • Copies the course to courses/<name>/. For a remote source it records where the course came from, and its content hash, in courses/<name>/.dojo-source.json.
  • Makes it the active course and links any agent commands and skills it ships into your agents' folders.
  • Prepares its environment: mise install and its setup task when it has a mise.toml, otherwise its JavaScript dependencies when it has a package.json; and its prepare.sh, if it has one.
  • Sets up the first kata, unless a kata is already active.

add sets up the project as install does if you haven't, but only connects agents it can detect or that you name with --agent.

Before installing a GitHub course, add reads its security checks: a failed check stops the install, and a warning asks first. The first install of a public GitHub course reports it to the marketplace, unless its manifest sets private: true.

Edit on GitHub