CLI tool for 10xDevs course content. Fetch and apply AI coding skills, prompts, and configs directly into your workspace.
- Node 20+ — this is the only runtime dependency.
# Zero-install — run directly with npx (no global install needed)
npx @przeprogramowani/10x-cli auth
npx @przeprogramowani/10x-cli get m1l1
# Or install globally for shorter commands
npm install -g @przeprogramowani/10x-cli
# Or download a standalone binary from GitHub Releases
# https://github.com/przeprogramowani/10x-cli/releasesLet your AI coding agent handle the setup. This repo ships a 10x-cli-setup skill that walks your agent through installing, authenticating, and configuring the CLI — all driven by the latest README.
Install the skill with skills.sh:
# Add the skill to your current project (symlinked)
npx skills add przeprogramowani/10x-cli
# Or install globally so it's available in every project
npx skills add przeprogramowani/10x-cli -g
# Target a specific agent
npx skills add przeprogramowani/10x-cli -a claude-code
npx skills add przeprogramowani/10x-cli -a cursorOnce installed, just tell your agent to set up 10x-cli and it will pick up the skill automatically.
10x auth # Authenticate with your email
10x list # Browse available modules and lessons
10x get m1l1 # Fetch and apply lesson artifacts
10x doctor # Check everything is working| Command | Description |
|---|---|
10x auth |
Magic-link login with your Circle-registered email |
10x list |
Browse modules and lessons in your course |
10x get <ref> |
Fetch a lesson and apply artifacts to your workspace |
10x doctor |
Diagnose auth, API connectivity, and local config |
| Flag | Description |
|---|---|
--tool <tool> |
AI coding tool: claude-code, cursor, copilot, codex, windsurf, gemini, generic |
--print |
Output artifact content to stdout instead of writing files |
--type <type> |
Filter by artifact type: skills, prompts, rules, configs |
--name <name> |
Filter by artifact name (requires --type) |
--dry-run |
Show what would be written without touching the filesystem |
--course <slug> |
Override the course slug (default: 10xdevs3) |
--no-course-rules |
Skip the course rules block in your rules file (CLAUDE.md/AGENTS.md); strips an existing one. Use --course-rules to re-enable. |
# Fetch full lesson — writes skills, prompts, rules, configs
10x get m1l1
# Write only skills (skip prompts, rules, configs)
10x get m1l1 --type skills
# Write a single artifact
10x get m1l1 --type skills --name code-review
# Print to stdout (pipe-friendly)
10x get m1l1 --print --type skills --name code-review
10x get m1l1 --print --type skills --name code-review | pbcopy
# Use with a different AI coding tool
10x get m1l1 --tool cursor
# Skip the course rules block (use only your rules). Persisted across runs;
# a previously-applied block is stripped. Re-enable later with --course-rules.
10x get m1l1 --no-course-rules
10x get m1l2 --course-rules
# An explicit rules request always applies, even with the opt-out persisted
10x get m1l1 --type rulesThe
--no-course-rules/--course-ruleschoice is saved ascourseRulesinconfig.jsonand applies to subsequent plain10x getruns. An explicit--type rulesrequest overrides the opt-out for that run. Skills, prompts, and config-templates are unaffected.
--json— Machine-readable JSON output (auto-detected when piped)--verbose— Request/response diagnostics on stderr--version— Print CLI version--help— Show help
Lessons are referenced by module and lesson number:
m1l1— Module 1, Lesson 1m2l3— Module 2, Lesson 3
On first run, the CLI prompts you to choose your AI coding tool. Artifacts are written to the correct directory for your tool:
| Tool | Directory | Rules file |
|---|---|---|
| Claude Code | .claude/ |
CLAUDE.md |
| Cursor | .cursor/ |
.cursor/rules/10x-course.mdc |
| GitHub Copilot | .github/ |
.github/copilot-instructions.md |
| Codex CLI | .agents/ |
AGENTS.md |
| Windsurf | .windsurf/ |
.windsurfrules |
| Gemini CLI | .gemini/ |
GEMINI.md |
| Generic | .ai/ |
AGENTS.md |
Override anytime with --tool <name>. Your choice is saved in ~/.config/10x-cli/config.json.
bun install
bun run dev -- --help # Run CLI from source
bun run build # Build dist/index.mjs (node target)
bun run build:binary # Build standalone binary (~59MB)
bun test # Run tests
bun run typecheck # tsc --noEmit
bun run lint # oxlint- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Commit using conventional commits (
feat:,fix:, etc.) - Push and open a pull request
CI runs lint, typecheck, tests, and build checks on every PR. Releases are automated on merge to master via conventional-commit analysis.
MIT