Keystroke is an open-source TypeScript framework and managed platform for building AI agents and workflow automations directly from coding agents like Claude Code, Cursor, or Codex.

Stars

46

7-day growth

No data

Forks

9

Open issues

0

License

NOASSERTION

Last updated

2026-07-24

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It treats automation as real, typed, tested, and git-versioned TypeScript code rather than JSON workflow blobs, bridging the gap between AI agent development and traditional software engineering practices.

Who it is for

  • Developers using AI coding agents (Claude Code, Cursor, Codex)
  • Teams building production-grade AI automations and workflows
  • Developers who want code-centric, testable automation over low-code canvas
  • Platform engineers seeking self-hosted or cloud-managed agent orchestration

Use cases

  • Create a daily briefing agent that scans calendar, email, and issues then posts to Slack
  • Build a data analyst agent that answers ad hoc queries via Slack by connecting to a warehouse
  • Define cron-triggered workflows with durable step execution and retry logic

Strengths

  • Automation is pure TypeScript (agents, actions, workflows) with full IDE support, type checking, and testability
  • Durable steps: successful steps are recorded and replayed on retries, not re-executed
  • 1000+ integration definitions and support for any HTTP API or MCP server
  • Dual deployment model: open-source standalone for local/private use or managed cloud for team collaboration

Considerations

  • Licensed under Elastic License 2.0, which prohibits offering substantial functionality as a hosted service to third parties
  • Requires Node.js 20+, limiting use in older environments
  • Relies on coding agents (Claude Code, Cursor, Codex) for initial setup and prompt-driven development

README quick start

AI automation, built for your coding agent

Build specialized agents and workflow automations with Claude Code, Cursor, Codex, or any coding agent. Everything is real TypeScript in your repo.

Get started · Documentation · Use cases


Keystroke is what n8n would look like if it were built for coding agents. Describe the agent or automation you want, and your coding agent builds it as typed, tested, git-versioned TypeScript. Deploy it to a shared platform where your team can run it, connect credentials, and inspect every run.

No JSON workflow blobs. No canvas as the source of truth. Your automation is code your agent can grep, test, review, and fix.

Start with your coding agent

Paste this into Claude Code, Cursor, Codex, or another agentic IDE:

Read https://keystroke.ai/start.md then help me create my first automation.

Your agent installs the CLI, connects your account, scaffolds a project, and deploys the first version. Then describe what you want to build:

Each weekday morning, scan my Google Calendar, Gmail inbox, and Linear issues,
then send me a short briefing in Slack.
Build a data analyst agent that answers ad hoc business questions by querying
our warehouse. Connect it to Slack so the team can ask questions in #data.

Browse more prompts →

Or set it up yourself

Prerequisite: Node.js 20 or later.

npm install -g @keystrokehq/cli
keystroke auth login
keystroke init my-app --yes
cd my-app
keystroke projects list
keystroke projects link --project 
keystroke deploy

keystroke deploy lints, typechecks, builds, and uploads your project. No separate build steps are required.

Everything is TypeScript

Agents, workflows, actions, and triggers live under src/ in your project.

my-app/
├── src/
│   ├── actions/
│   ├── agents/
│   ├── triggers/
│   └── workflows/
├── AGENTS.md
├── keystroke.config.ts
├── package.json
└── tsconfig.json

Define an agent:

import { defineAgent } from "@keystrokehq/keystroke/agent";

export default defineAgent({
  slug: "researcher",
  name: "Researcher",
  description: "Researches a topic and returns a sourced brief.",
  systemPrompt: "Research the request, verify important claims, and cite sources.",
  model: "anthropic/claude-sonnet-4.6",
});

Create a reusable action

Related repositories

Similar projects matched by category, topics, and programming language.

TanStack
Featured
TanStack GitHub avatar

router

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.

Web DevelopmentFrontend Frameworks
14,861
vercel-labs
Featured
vercel-labs GitHub avatar

scriptc

scriptc compiles ordinary TypeScript into small, fast native executables without needing Node.js, V8, or any JavaScript runtime in the binary.

Developer ToolsCode Quality & Build
1,985
Jakubantalik
Featured
Jakubantalik GitHub avatar

thinking-orbs

A React component library that renders six hand-tuned animated thought orb loading indicators on a plain 2D canvas, with two purpose-tuned sizes and automatic theme detection for AI and agent UIs.

AI & Machine LearningAI Agents
1,191