{"id":51196342,"url":"https://github.com/flashbots/decker","last_synced_at":"2026-06-27T21:02:41.578Z","repository":{"id":365291167,"uuid":"1237805853","full_name":"flashbots/decker","owner":"flashbots","description":"Deck your own devnet","archived":false,"fork":false,"pushed_at":"2026-06-16T17:11:07.000Z","size":789,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-16T19:10:25.111Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flashbots.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-13T14:23:46.000Z","updated_at":"2026-06-16T17:11:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/flashbots/decker","commit_stats":null,"previous_names":["flashbots/decker"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/flashbots/decker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashbots%2Fdecker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashbots%2Fdecker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashbots%2Fdecker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashbots%2Fdecker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flashbots","download_url":"https://codeload.github.com/flashbots/decker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashbots%2Fdecker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34867617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-27T21:02:40.623Z","updated_at":"2026-06-27T21:02:41.570Z","avatar_url":"https://github.com/flashbots.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"_assets/decker.png\" alt=\"Decker\" width=\"300\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/flashbots/decker/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/flashbots/decker/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/flashbots/decker/releases\"\u003e\u003cimg src=\"https://badgen.net/github/release/flashbots/decker?icon=github\u0026color=orange\u0026cache=300\" alt=\"Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-2bbc8a\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://deno.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Deno-2-blue?logo=deno\u0026logoColor=white\" alt=\"Deno\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eDeck your own devnet\u003c/h3\u003e\n\nDecker lets you kickstart and vibecode any dev setup with complete freedom — powered by Deno, TypeScript and agent-first patterns!\n\nRapidly vibehack your own containers and recipes, manipulate commands, plug in any tool you want! ⚡\n\nOwn your recipes and features on your fork/revision and run from a `decker.ts` file in your developed project!\n\nBuilt from the lessons of [builder-playground](https://github.com/flashbots/builder-playground) to spin up Ethereum devnets - but of course, you can compose any dev setup with it!\n\n## Quickstart\n\nInstall podman first. If you prefer docker, you can modify recipe targets or override with `--pods docker` flag.\n\nOn Linux and macOS, install the latest `decker` binary to `/usr/local/bin` with:\n```sh\ncurl -sSfL https://raw.githubusercontent.com/flashbots/decker/main/install.sh | bash\n```\n\nTo pin a specific release, set `VERSION`:\n```sh\nVERSION=v0.1.0 curl -sSfL https://raw.githubusercontent.com/flashbots/decker/main/install.sh | bash\n```\n\nStart the L1 recipe:\n```sh\ndecker start l1\n```\n\nAnd you get:\n\n```\n  el-1\n    rpc        8545\n    authrpc    8551\n    metrics    9090\n  beacon-1\n    http       3500\n    p2p-tcp    9000\n    p2p-udp    9000\n    quic       9100\n  validator-1  (no ports)\n  pg-mb-1\n    postgres   5432\n  redis-mb-1\n    redis      6379\n  housekeeper-mb-1  (no ports)\n  mev-boost-relay-1\n    http       9062\n\n  Pod logs (Dozzle)  http://localhost:18080\n\n  Ctrl+C to stop\n```\n\nDo a `decker test` and you'll get a block built.\n\n## Integration\n\n1. Fork/clone this repo or do `decker clone` on an empty dir.\n\n2. Tell your agent to add containers/recipes/features.\n\n3. Commit and push to your fork.\n\n4. Go to your developed/tested project, do `decker init`.\n\n5. Modify the decker file to point to your fork revision hash and recipe.\n\nThat's it! And you have dev setup of your own suitable for local runs and CI.\n\nTo start your fork's recipe, just `decker start` (or `decker up` + `decker down`) — the pinned source is cloned automatically on first run. Use `decker pull` to clone it explicitly; it never touches an existing clone.\n\nYou can run any public recipe (and accessible private recipes) like this.\n\n## Layers\n\nYou can evolve `decker` in multiple layers and use in dev or CI setups of your projects:\n\n- **Generators:** Generate your own artifacts/configs dynamically\n- **Containers:** Write k8s-like blueprints or host processes\n- **Recipes:** Compose containers/processes into a single run\n- **Scripts:** Control recipe pre/post states and even launch child recipes\n- **Renderers:** Run your recipe on any target (podman, docker, process-compose and anything you want)\n- **CLI:** Hack on the clone, run immediately with preinstalled binary\n\n## Why?\n\nSophisticated tools and their abstraction layers speed up humans but slow down LLM problem solving capabilities and reduce success. In addition, developers often try to fix upstream the tools they depend on, to satisfy their own use-case specific necessities.\n\nWe eliminate this friction by inverting the approach to an inclusive one:\n\n- Simple building blocks and scalable patterns for LLM agents and humans\n\n- Relying more on LLM training data instead of heavy custom logic and abstractions\n\n- Putting users in control of features instead of restricting to an opinionated and limited selection\n\n- Leveraging readily available community tools\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflashbots%2Fdecker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflashbots%2Fdecker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflashbots%2Fdecker/lists"}