| Crates.io | oseda-cli |
| lib.rs | oseda-cli |
| version | 2.1.0 |
| created_at | 2025-06-29 19:34:05.839135+00 |
| updated_at | 2025-09-16 14:57:40.679041+00 |
| description | OSEDA project scafolding |
| homepage | https://oseda.net |
| repository | https://github.com/oseda-dev/oseda-cli |
| max_upload_size | |
| id | 1731051 |
| size | 100,492 |
The CLI tool designed to help you scaffold, manage, and deploy your OSEDA projects. It simplifies common development workflows, letting you focus on building your own presentations, ready to deploy to oseda.net.
To install oseda-cli, make sure you have Cargo and NPM installed.
curl -sL https://raw.githubusercontent.com/oseda-dev/oseda-cli/refs/heads/main/scripts/curl-install.sh | $SHELL
cargo install oseda-cli
Then, make sure ~/.cargo/bin" is in your path
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
fish_add_path $HOME/.cargo/bin
The oseda CLI provides several commands to manage your projects.
--version: Prints version information--help: Prints help messageoseda init — Initialize a new OSEDA projectSets up a new OSEDA project in the current directory with a basic Reveal.js setup, Vite config, and markdown-based slide deck.
bash oseda init
Example:
`bash oseda init
`
Output:
Successfully initialized oseda project
oseda run — Run your OSEDA project locallyBuilds and s your OSEDA presentation using Vite and Serve.
bash oseda run
Example:
bash oseda run
Output:
Successfully ran oseda project
oseda check — Check your OSEDA project for issuesPerforms a series of checks to validate your project before deployment. This includes verifying your config file, git credentials, directory structure, and whether the presentation returns a valid response locally.
Passing this check is the minimum bar for deployment approval by a moderator
bash oseda check [OPTIONS]
Options:
--port <PORT>: Specifies the port to check. Default is 3000.Example:
bash oseda check --port 8080
Output:
Successfully checked oseda project
oseda deploy — Deploy your OSEDA projectClones your fork of the deployment repo, places your project inside the courses/ directory, and pushes changes to your GitHub fork. You do not need to manage this direcotory and this is automatically cleaned up
You must be signed into GitHub and have user.name and user.email configured for this to work.
bash oseda deploy [FORK_URL]
FORK_URL:
The URL of your fork of https://github.com/oseda-dev/oseda-lib
Example:
bash oseda deploy https://github.com/ReeseHatfield/oseda-lib
Output:
Successfully deployed oseda project See deployment instructions...
OSEDA projects are structured like this:
oseda-project/
├── oseda-config.json # project metadata
├── slides/ # markdown files
├── src/ # reveal.js entrypoint
├── css/ # custom styling
├── index.html # reveal.js HTML wrapper
├── vite.config.js # Vite build setup
└── package.json # npm dependencies
Your oseda-config.json must match the project folder name and contain correct git author info to pass checks.
lsof, kill, serve, etc.)user.name and user.email configured)npm and git commandsIf any command encounters an error, the CLI prints a descriptive message and exits with code 1.
Example (Init Error):
Could not initialize project with error: DirectoryNameMismatch("Project name does not match directory")
Feel free to submit a PR to this, or any other Oseda repository.
This project is licensed under the MIT License.