Skip to content

zackiles/deno-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Deno-Kit

Deno JSR Score JSR JSR Scope

cd

Opinionated scaffolding for the future of AI-native codebases

Overview

Scaffold and publish modern Typescript projects in seconds with the Deno-Kit CLI. Hyper-optimized for agentic collaborators, with best practices, intelligent defaults, tools for agents, and first-class integration with Cursor, Claude Code, and Windsurf. Read more about its approach to Context-first Codebases For Agents or some of its other features.

Supported Scaffold Types:
Library, CLI, HTTP-Server, Websocket-Server, and MCP-Server

Important

BYOD (Bring Your Own Runtime)

Deno-Kit focuses specifically on the foundational aspects of project configuration, structure, and developer workflows. It is indifferent to your application runtime, along with the frameworks, libraries and patterns you choose to design it with

Quick Start

Install

Install the Deno-Kit native binary globally, instantly, and cross-platform so you can use it to bootstrap and manage all your Deno projects:

curl -fsSL https://raw.githubusercontent.com/zackiles/deno-kit/main/install.sh | sh

Note

To uninstall, run: deno-kit uninstall

Scaffold Your First Project

With deno-kit installed you can scaffold a new project in the current directory:

deno-kit

Or a different directory:

deno-kit ../new-project

πŸš€ That's it!. You can continue to use the powerful features of Deno-Kit (see a list of tools deno-kit --help), or if you made a mistake configuring the project you can reset using deno-kit reset. You can completely uninstall it from your system using deno-kit uninstall.

Tip

You can specify a folder that doesn't exist. Deno-Kit will create it, and change the working directory to it for you automatically

How Scaffolding Works

Configures: from hyper-customized to instant projects, it'll walk you through setting it up. All steps are skippable and have intelligent defaults.

Generates: a ready-to-go project with all the bells and whistles: documentation, workflows for testing and releasing, comprehensive configuration for VSCode/Cursor/Github and more, one-step publishing on JSR, and a handful of battle-tested utilities from the @deno-kit standard library that compliment and enhance Deno's. It'll even create the repository and push the initial commit up with the Github CLI if you set it to.

Note

Deno-Kit receives updates. Running deno kit update will attempt to update both the CLI and from time-to-time the project scaffolding or shell. If anything goes wrong during an update, you can use deno-kit reset to rollback the recent changes.

Tip

Done with Deno-Kit? You can remove it completely and any time without harming the project using deno-kit remove.


Features

🧭 Guided Setup: Quickly setup your next package with guided setup and intelligent defaults based on your current working environment.

🧩 Multiple Project Types: CLI, Library, HTTP-Server, WebSocket-Server, MCP-Server.

πŸ¦– Modern Deno 2: best practices such as safe defaults for lint/fmt/compile/publish and more, as well as out-of-the-box setup for the latest APIs such as OpenTelemetry.

πŸ€– AI-Native: Use Cursor? Deno-kit includes a complete set of Deno-optimized AI triggers, meta prompts, a full suite of Cursor rules in .cursor/rules, MCP servers for your codebase in ai/mcp and a local index of documentation for AI in ai/docs to jump-start your project

πŸ”’ Safe Defaults: Achieve a 100% JSR score with safe defaults and comprehensive TypeScript coverage.

πŸ›  Helpful Testing Tools: Accelerate development of your next package easily with autogenerated CLI, HTTP, and WebSocket clients to consume and test your package locally.

Removing Deno-Kit

Removing deno-kit wont harm your project, but it WILL remove your ability to use several helpful long-term features such as : automatic publishing github workflows with deno-kit publish, hosting your library automatically with and deno-kit cli as well as the ability to adopt the latest features and best practices by updating with deno-kit update.

Updating Your Project With Deno Kit

Running deno-kit update will update the following:

  • Cursor rules in .cursor/ (Rules documented in CURSOR-RULES
  • MCP servers for AI in ai/mcp
  • Docs for AI in ai/docs
  • Docs for humans in docs/
  • Update deno-kit dependencies
  • General enhancements and critical fixes to deno-kit

Prerequisites

  • Deno v2.0 or newer
  • Note: if you're building a browser-based library you will have to add additional libraries to compilerOptions.lib in deno.jsonc such as dom. For more info see: DenoDocs - CompilerOptions

Context-first Codebases For Agents

The self-discovery pattern helps an AI agent fetch just-in-time context. Every design choice leaves breadcrumbs that lead the agent to the next relevant file. This cascades context incrementally as the agent navigates common workflows, maintaining coherence and optimal context-window usage.

Self-discovery unfolds through three pillars:

  • Context funnels that trigger incremental context injection
  • Embedded tools that surface knowledge on demand
  • Information architecture tuned for AI navigation

Funneling

The agent's system prompt automatically injects triggers for incremental context discovery.

Global prompts provide structured instructions for context-seeking based on file and folder glob patterns. This establishes the first layer of triggers.

Glob hierarchies activate when the agent works on matching files or folders. The global prompt triggers the agent to fetch additional context, which then sets up deeper, more specific triggers.

πŸ§ͺ Example workflow

An agent tasked with editing tests receives only the system prompt initially:

  1. First trigger: "Review the README.md before starting."
  2. Agent loads README: Finds instructions for running tests.
  3. Agent runs tests: Output prints the test folder path to terminal.
  4. Agent navigates to test/: Glob match triggers documentation review for the testing framework.
  5. Agent reads specific test file: Previous triggers mentioned this file requires fetching file-specific documentation.
  6. Agent finishes writing test: New context instructs them to run tests with a specific command.
  7. Tests fail: Error message contains trigger instructing agent to fetch debugging-specific context.

This demonstrates how lazy-loaded context acts as triggers, enhancing agent coherence across multi-turn conversations.

Tools

The .ai folder equips your agent with actual tools and usage instructions:

  • Automatic repomix snapshots for lightning-fast semantic search of the entire codebase
  • Purpose-built grep tool designed specifically for agent workflows
  • Git hooks and Deno tasks that automatically maintain the lifecycle of code indexes
  • Curated knowledge base of latest Deno and TypeScript references from official docs, source internals, and GitHub discussions

Information architecture

Self-discovery requires thoughtful naming and project structure from the start. Strong foundations contribute most to agent coherence as codebases grow.

Every observable element acts as implicit instructions:

  • File and folder names follow descriptive, predictable patterns
  • Configuration files include complete schemas and inline comments for autonomy
  • Repeating patterns and terms reinforce agent behavior through context windows that leverage training data effectively

Example: An agent encountering var in JavaScript projects will likely write code matching that era's patterns from its training data.


Why Deno for AI?

Node and Bun seem like obvious choices given the training data most models have is based on Node-ish design. So why Deno? It's this authors belief, from real world testing, that Deno offers unique and significant advantage:

  • A secure-by-default, sand-boxed runtime. Perfect for providing the guardrails of agentic development.

  • URL-based module imports with no reliance on central registries. Managing dependencies can amount to many small paper-cuts and time/tokens wasted with AI. URL-based dependencies are simple, hard to make mistakes with, and reduce the amount of steps (see tokens) needed to install and configure dependencies. Agents can even create their own dependencies quickly are share them with simple URL paths.

  • Zero-config, Native TypeScript support out of the box. A familiar experience for an developer working with AI is endless loops and edge-cases where the agent fails to understand the intricate web of tsconfig and bundler options. Deno's approach to zero-config removes this. This is by far one of the most significant advantages to AI development and Typescript and compiler settings pose a massive hurdle to agentic development - which doesn't exist in Deno. A project can be started without a single configuration file.

  • Built-in tools for formatting, linting, and testing. With agents, you want to optimize for simple tools. Although Nodejs and Bun have a massive ecosystem of tools, that becomes a detriment to AI's consistency as it means there are numerous ways to accomplish the same thing. Deno-Kit has curated the perfect set of context and rules for agents to instantly master Deno's native tooling, and with less noise in its training data to counter-act or confuse the agents instructions, it ensures more consistent agent outcomes. Ironically, it comes as an advantage today's models don't have a training set polluted with decades of Javascript tooling and design patterns for Deno - it acts as a clean slate.

  • WASI, FFI, K/V storage, native compiled binaries, and edge environments. Deno's native support for all of these, including all of them in compiled binaries is not something supported in Bun and Node yet. Deno's native K/V storage with SQLite and atomic operations is a critical need for every distributed agentic application. All of these provide familiar bridges and integration points to the agent, giving endless possibilities of what could be built. The familiarity Typescript with the flexibility for native integrations is the perfect balance for an agent that is difficult to strike in any other language or runtime.


Made with ❀️ by humans (mostly)

About

Opinionated scaffolding for the future of AI-native Typescript codebases

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •