diff --git a/packages/homepage/.gitignore b/packages/homepage/.gitignore new file mode 100644 index 0000000..f650315 --- /dev/null +++ b/packages/homepage/.gitignore @@ -0,0 +1,27 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules + +# next.js +/.next/ +/out/ + +# production +/build + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts \ No newline at end of file diff --git a/packages/homepage/app/error.tsx b/packages/homepage/app/error.tsx new file mode 100644 index 0000000..37f8cd1 --- /dev/null +++ b/packages/homepage/app/error.tsx @@ -0,0 +1,75 @@ +'use client' + +import { useEffect } from 'react' + +export default function Error({ + error, + reset, +}: { + error: Error & { digest?: string } + reset: () => void +}) { + useEffect(() => { + console.error('Unhandled error:', error) + }, [error]) + + return ( +
+ An unexpected error occurred. +
+ ++ {isDev + ? 'Zero developer code for decision logic. GoRules ZEN evaluates tables natively at runtime.' + : 'Define routing rules in a spreadsheet. No code, no developer needed.'} +
+| + # + | ++ Tier + + input + + | ++ Value + + input + + | ++ Route + + output + + | +
|---|---|---|---|
| + {i + 1} + | ++ + {row.tier} + + | ++ + {row.value} + + | ++ + {row.route} + + | +
| + Tier + | ++ Value + | ++ Route + | +
|---|---|---|
| + {row.tier} + | ++ {row.value} + | ++ {row.route} + | +
+ Test every path before it goes live. No technical skills needed. +
+ + {/* Pill tabs */} ++ Debug flows locally. Run in CI. Catch structural issues before production. +
+ ++ {isDev + ? 'YAML diffs cleanly. Validate in CI. Catch issues in PR review.' + : 'See exactly what changed, visually. No YAML to read.'} +
++ Design configurable service flows visually — drag nodes, connect paths, + define swimlanes, and embed decision tables at every routing point. + Your entire business process in one executable specification. +
+ + {/* Flow diagram sub-container with editor header */} ++ Validated specifications feed your existing toolchain — CI catches structural + errors, deterministic YAML diffs cleanly, and one command generates production + Temporal TypeScript. No Flowprint runtime dependency. +
+ + {/* Toolchain grid (3x2) */} ++ No signup required. Open the app or install locally — your choice. +
++ Open the hosted editor and start designing immediately. No installation, + no account, no friction. +
+ + + + {/* Preview mockup */} ++ Full CLI access for validation, generation, and CI integration. + Works with any editor. +
+ + {/* CLI commands */} ++ Visual design, decision tables, simulation, code generation, and version control — + all in one specification that business defines and engineering ships. +
+ + {/* CTAs */} +{installCommand}
+
+
+
+ name: patient-intake{"\n"}
+ version: 1.0.0{"\n"}
+ lanes:{"\n"}
+ {" "}- id: patient{"\n"}
+ {" "}- id: intake-staff{"\n"}
+ {" "}- id: clinical{"\n"}
+ nodes:{"\n"}
+ {" "}- id: check-in{"\n"}
+ {" "}type: action{"\n"}
+ {" "}lane: patient
+
+
+ Schema: valid
+References: resolved
+Structure: clean
+
+{`export async function
+ patientIntake(
+ ctx: Context
+ ) {
+ await checkIn(ctx);
+ // ...
+ }`}
+
+ + From design to execution in six layers. Each step builds on the last. +
+{step.description}
++ Flowprint plugs into what you already use. No new infrastructure required. +
+{integration.description}
++ Start with production-ready blueprints across industries. Complexity you can handle. +
+
+ Pick a service blueprint and explore its structure. Each template is a
+ real .flowprint.yaml file you can open in the editor.
+
{selected.description}
+npx flowprint init --template {selected.id}
+ + Business defines the blueprint. Engineering ships it. The artifact is the contract. +
+{feature.description}
+.flowprint.yaml
+ {feature.description}
+$ flowprint validate
+✓ Schema valid
+✓ References resolved
+$ flowprint generate
+→ src/workflows/patient-intake.ts
++ The artifact is the interface. No meetings to align. No tickets to clarify. The specification speaks for itself. +
+