jac-project-kinds

Maps Jac project kinds to build verbs and the guides to load.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When starting a new Jac project, it is unclear which build commands, runtimes, and documentation guides apply to your specific project type. This Skill routes you from your project kind to the correct verbs and guides immediately. ## Core Features & Use Cases - Project Kind Routing: Covers eleven project kinds including CLI tools, API services, microservices, full-stack apps, native binaries, shared libraries, wasm, desktop, mobile, and PyPI/npm packages. - Kind-Aware Tooling: Explains how jac create --kind <kind> scaffolds projects and how a bare jac run resolves the right action (execute, serve, or build) from jac.toml. - Guide Loading Map: Each kind lists exactly which jac guide <name> documents to load, plus cross-cutting guides for testing, debugging, LLM functions, and deployment. - Use Case: You want to ship a pip-installable CLI written in Jac. The routing table tells you to run jac build --as wheel, then twine upload dist/*, and to load jac-packaging and jac-impl-files first. ## Quick Start Ask the assistant to identify which Jac project kind fits your idea and list the build commands and guides to load for it.

Frequently Asked Questions about jac-project-kinds

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

FAQPage Schema
How do I choose the right Jac project kind for a new project?

Match your goal to the routing table: CLI tools use `jac run`, API services use `jac start api.jac --no-client`, and full-stack apps use `jac create app --kind web-app`. Each kind lists the exact guides to load before writing code.

How do I scaffold a Jac project with a specific kind?

Run `jac create <name> --kind <kind>`, for example `--kind service` or `--kind native-binary`. It stamps the kind into `jac.toml` and places the entry point in the right codespace. Use `jac create --list` to see available kinds.

What does a bare jac run do in a Jac project?

With `kind` set under `[project]` in `jac.toml`, `jac run` executes runnable kinds, serves server kinds, or builds artifact kinds automatically. Use `jac run --show` to print the resolved plan without running it.

Can Jac compile to native binaries and WebAssembly?

Yes. `jac nacompile app.jac -o app` produces a standalone native executable via LLVM, and native code can target WebAssembly for in-browser use. Shared libraries for C ABI are built with `jac nacompile lib.jac --shared`.

How do I publish a Jac project as a PyPI or npm package?

For PyPI, run `jac build --as wheel` then `twine upload dist/*`; `def:pub` defines the public API. For npm, run `jac build --as npm` then `npm publish`, which includes `.d.ts` type definitions.

Which guides should I load before writing any Jac code?

Always load `jac-core-cheatsheet` for baseline syntax and `jac-types` first. Then add kind-specific guides from the routing table, plus `jac-testing` before writing tests and `jac-debugging` when something misbehaves.