128
Edit a cron expression field by field or with friendly controls, read it back as a plain sentence, see the next five runs in your timezone update as you type, and get told exactly why a schedule is invalid or can never run.
akacron·crontab·schedule
Run this in any project set up for the shadcn CLI. It copies the Cron Builder source into your components folder, so the code is yours to change.
npx shadcn@latest add https://devl.dev/r/cron-builder.jsonImport it and render it. Every prop has a typed default, so it works straight away, and you pass your own data when you’re ready.
import { CronBuilder } from "@/components/cron-builder";
export default function Page() {
return <CronBuilder />;
}A free React component in the Dev Tools collection, written in TypeScript with Tailwind CSS on coss ui. MIT licensed.
Read from the Cron Builder source. Everything is optional unless it says required.
| Prop | Type | Default |
|---|---|---|
| defaultValue | string | "30 9 * * 1-5" |
| onChange | (expression: string, valid: boolean) => void | — |
| presets | { label: string; value: string }[] | DEFAULT_PRESETS |
| className | string | — |