donjo/denoland
Overview
This skill provides practical guidance for starting and maintaining modern Deno projects. It focuses on correct package choices, deno.json configuration, CLI workflows, and common pitfalls to avoid. Use it to ensure consistent, secure, and up-to-date Deno development practices.
How this skill works
The skill reviews project structure and recommends package sources, preferring JSR packages for native Deno compatibility and falling back to npm only when necessary. It explains key deno.json settings such as imports and fmt/lint exclusions, and outlines essential CLI commands for formatting, linting, testing, adding packages, and deploying. It highlights Deno permissions and import map usage so runtime errors are easier to diagnose.
When to use it
- Starting a new Deno project or scaffolding Fresh/JSR apps
- Choosing and adding dependencies with correct registry prefixes
- Configuring deno.json (imports, tasks, fmt/lint exclusions)
- Running routine CLI maintenance: fmt, lint, test, add, upgrade
- Preparing a project for Deno Deploy or local debugging
Best practices
- Prefer jsr: package specifiers (jsr:@std/* or jsr:@fresh/*) for built-in types and faster resolution
- Use deno add to register dependencies so lockfiles and deno.json stay accurate
- Run deno fmt, deno lint, and deno test regularly and before commits
- Grant only the permissions you need (use --allow-net, --allow-read selectively)
- Define import aliases in deno.json imports and exclude build artifacts from fmt/lint
Example use cases
- Create a new Fresh app and import routing from jsr:@fresh/core
- Swap an existing https://deno.land/x/ import to jsr:@std/ for the standard library
- Add a utility package with deno add jsr:@std/http and commit the updated config
- Run CI steps that run deno fmt && deno lint && deno test before merging
- Deploy a verified build to Deno Deploy with deno deploy --prod
FAQ
No. Prefer jsr: specifiers. deno.land registries are deprecated; use jsr:@std/* for the standard library.
When should I use npm: packages?
Use npm: only when there is no JSR alternative. JSR packages offer first-class TypeScript support and faster resolution.
2 skills
This skill guides you through starting Deno projects, configuring deno.json, and managing dependencies with JSR and deno CLI.
This skill guides deploying Deno apps to Deno Deploy using deno deploy, handling app discovery, configuration, and common deployment issues.