jac-scaffold

Scaffolds new Jac projects using the jac create CLI with kind-aware templates.

Updated Jul 26, 2026
One-click install
npx skills add https://github.com/PMN123/trapdoor --skill jac-scaffold-pmn123
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jac-scaffold
Source: https://github.com/PMN123/trapdoor/tree/main/.agents/skills/jac-scaffold
Command: npx skills add https://github.com/PMN123/trapdoor --skill jac-scaffold-pmn123

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Starting a new Jac project by hand means guessing the correct directory layout, entry-point conventions, and jac.toml configuration for each project type. This Skill removes that guesswork by driving the built-in jac create scaffolder, which stays current with Jac releases and stamps the right structure for every project kind. ## Core Features & Use Cases - Kind-aware scaffolding: Create any of 12 built-in project kinds (cli, service, web-app, desktop, mobile, native-binary, and more) with a single jac create --kind command, each producing the correct entry-point and jac run behavior. - Template variants and custom templates: Use named variants like jac-shadcn for production UI with 53 accessible primitives, or pack your own project into a reusable .jacpack template with {{name}} placeholder substitution. - Guardrails and post-scaffold checklist: Avoid silent project nesting, verify the scaffold compiles with jac check, and run the project correctly with kind-aware jac run dispatch. - Use Case: You want to build a web app with shadcn components. Run jac create myapp --use jac-shadcn, then jac install, jac check ., and jac start --dev to get a hot-reloading server with themed UI primitives ready to extend. ## Quick Start Ask the assistant to scaffold a new Jac web application named myapp using the jac-shadcn template and verify it compiles.

Frequently Asked Questions about jac-scaffold

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a new Jac project from scratch?

Run `jac create myapp` to scaffold a cli project by default, or add `--kind <kind>` for one of the 12 built-in kinds such as service, web-app, or desktop. Omitting the name initializes the current directory, similar to cargo init.

What is the difference between jac create --kind and --use?

`--kind` selects a built-in project kind template like web-app or service, while `--use` loads a custom template from a path, URL, jacpack archive, or a named variant like jac-shadcn. The two flags are mutually exclusive.

Should I use standard web-app or the jac-shadcn variant?

Use `--kind web-app` for full control with plain Jac JSX and Tailwind, and `--use jac-shadcn` when you want 53 accessible pre-built primitives with themed styling. Do not mix the two methods, since shadcn imports fail in non-shadcn projects.

Why does jac create fail or nest projects unexpectedly?

The no-name form refuses to run inside an existing Jac project, and the named form refuses if the target directory exists, unless you pass --force. Running the named form inside an existing project nests silently, so inspect the workspace for jac.toml before scaffolding.

What should I do after scaffolding a Jac project?

Add npm dependencies to jac.toml, run `jac install`, verify compilation with `jac check .`, then run the project with a bare `jac run` which dispatches on the project kind. For web apps, use `jac start --dev` for hot reload instead of the deprecated jac serve.

Can I make my own Jac project template?

Yes, add a `[jacpack]` section with a name and description to any Jac project's jac.toml, and `{{name}}` placeholders in files are substituted at create time. Pack it with `jac create --pack` or use the directory directly via `jac create app --use ./my-template/`.