Create a dojo manually

Start from a working course and edit its files directly.

Start from an example

Clone the kata starter into a new folder:

git clone https://github.com/dojofoo/starter-kata.git my-dojo
cd my-dojo

Keep the starter's structure while replacing its example lessons. Check its setup instructions and mise.toml for the tools and dependencies it needs.

Define the course and lessons

  • dojo.yaml or dojo.json describes the course and its lessons. Update the name, description, and curriculum to match your material.
  • DOJO.md defines course-wide teaching guidance.
  • Each lesson's SENSEI.md or SENSEI.mdx explains how to teach that lesson: prerequisites, useful examples, misconceptions, and when to offer more help.
  • Exercise files and tests define the learner's work and check its behavior. Retain the starter's manifest references when renaming or moving files.
  • mise.toml owns environment preparation. See portable dojo setup for assets, MDX, and non-JavaScript tools.

Keep teaching guidance separate from the learner's exercise. Explain unfamiliar concepts before testing recall, and use tests to check behavior rather than prescribe one implementation.

Try the course

Install your local course from a separate learner folder:

mkdir ../my-dojo-trial
cd ../my-dojo-trial
npx dojofoo install
npx dojofoo add ../my-dojo
npx dojofoo ui

Work through the lesson as a learner. Check that the introduction gives a useful first step, failures produce helpful feedback, and completion offers a clear next step.

When ready, push your course to your own Git repository. Learners can install it with npx dojofoo add owner/repository. See installation and marketplace registration before publishing; use marketplace: false for courses that should not be listed.

On this page