Skip to content

Commit 8fd0e22

Browse files
committed
remove stale docs;clean up/focus README
1 parent a57979b commit 8fd0e22

29 files changed

Lines changed: 307 additions & 853 deletions

‎README.md‎

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# FSharp.CloudEdge
22

3-
[![for: Cloudflare Workers · API](https://img.shields.io/badge/for-Cloudflare%20Workers%20%C2%B7%20API-F38020?logo=cloudflare&logoColor=white)](https://developers.cloudflare.com/workers/)
3+
**Build applications and agents across Cloudflare's platform, in F#.**
4+
5+
[![for: Cloudflare Platform](https://img.shields.io/badge/for-Cloudflare%20Platform-F38020?logo=cloudflare&logoColor=white)](https://developers.cloudflare.com/)
46
[![F# → JavaScript: Fable 5.13](https://img.shields.io/badge/F%23%20%E2%86%92%20JavaScript-Fable%205.13-378BBA?logo=fsharp&logoColor=white)](https://fable.io)
57
[![.NET SDK: 10.0](https://img.shields.io/badge/.NET%20SDK-10.0-512BD4?logo=dotnet&logoColor=white)](global.json)
68
[![targets: net8.0 · netstandard2.0](https://img.shields.io/badge/targets-net8.0%20%C2%B7%20netstandard2.0-512BD4?logo=dotnet&logoColor=white)](FSharp.CloudEdge.slnx)
@@ -10,11 +12,15 @@
1012
[![Xantham: TypeScript 7](https://img.shields.io/badge/Xantham-TypeScript%207-6E40C9)](https://github.com/shayanhabibi/Xantham)
1113
[![Hawaii: OpenAPI](https://img.shields.io/badge/Hawaii-OpenAPI-0E7C86)](https://github.com/FidelityFramework/Hawaii/tree/fsharp-cloudedge-support)
1214

13-
For the purposes of this project, we consider Cloudflare publishing its platform in two different forms: in TypeScript declarations for the code that runs inside a Worker, and in an OpenAPI document for the API that provisions and deploys it. FSharp.CloudEdge is F# generated from both, so a Cloudflare application can be written in one language from its request handlers to its deployment.
15+
FSharp.CloudEdge brings F# to Cloudflare's application and AI platform: stateful agents, model inference, data and search, sandboxes and containers, and the APIs that provision and manage those resources.
16+
17+
The opportunity is in composing those capabilities. Give an agent tools through MCP, connect it to data in D1 and R2 or search in Vectorize, and run its tasks in a Sandbox. Use Containers for services that need their own runtime, and Git and Artifacts for versioned work. These capabilities sit alongside queues, workflows, real-time coordination, analytics and the wider control plane.
1418

15-
On the Worker side, F# code compiles to JavaScript with [Fable](https://fable.io) and imports the npm packages a TypeScript Worker imports, under the names Cloudflare's documentation uses. On the account side, generated .NET clients call Cloudflare's REST API directly. A Worker upload through those clients includes the Worker's bindings in the JSON metadata that Cloudflare documents, so the Worker's configuration can be F# code kept in the same repository as the Worker.
19+
Runtime code compiles from F# to JavaScript with [Fable](https://fable.io), using Cloudflare's SDKs and native bindings. Generated .NET clients handle the REST API, so application logic, resource provisioning and deployment can share a language. The bindings follow pinned TypeScript declarations and OpenAPI contracts; generator provenance and compatibility checks are documented below.
1620

17-
A new Cloudflare release takes a pin change and a regeneration, reviewed against a contract baseline.
21+
The **0.1.0** release is a foundation for community testing, especially across the expanding agent and compute APIs. Help [verify real workflows](https://fsprojects.github.io/FSharp.CloudEdge/guide/verify-bindings/), contribute examples, and [report binding issues](https://github.com/fsprojects/FSharp.CloudEdge/issues) so the implementation matures through use.
22+
23+
[Explore the platform guides](https://fsprojects.github.io/FSharp.CloudEdge/libraries/) · [Browse the 47 NuGet packages](https://www.nuget.org/packages?q=FSharp.CloudEdge) · [Get started](https://fsprojects.github.io/FSharp.CloudEdge/guide/packages/)
1824

1925
## Upstream Foundations
2026

@@ -33,14 +39,14 @@ flowchart LR
3339

3440
[Xantham](https://github.com/shayanhabibi/Xantham) is the TypeScript-to-F# bindings generator by Shayan Habibi and contributors. It runs the TypeScript 7 compiler as an API server (`tsc --api`) and loads the declaration files Cloudflare publishes in its npm packages through that compiler. The root npm manifest pins the compiler build, `typescript` `7.1.0-dev.20260902.1`. Xantham assigns each generated symbol one of the four grades below and lists every widened or escaped symbol in a manifest beside the generated source.
3541

36-
| Grade | Xantham's definition | Occurrences at acceptance |
37-
| --- | --- | ---: |
38-
| Exact | The F# type accepts and rejects exactly what TypeScript does. | 1,444 |
39-
| Ergonomic | Meaning preserved, spelling made idiomatic. | 3,366 |
40-
| Widened | Information TypeScript had was dropped. | 3,713 |
41-
| Escape | The construct is not represented. | 790 |
42+
| Grade | Xantham's definition |
43+
| --- | --- |
44+
| Exact | The F# type accepts and rejects exactly what TypeScript does. |
45+
| Ergonomic | Meaning preserved, spelling made idiomatic. |
46+
| Widened | Information TypeScript had was dropped. |
47+
| Escape | The construct is not represented. |
4248

43-
The counts come from the September 13, 2026 acceptance audit and include repeated dependencies across targets. For this library, Xantham generated the 31 runtime libraries from 112 selected npm entry points, together with the three AI SDK contract libraries they share. The pinned build is `xantham` `0.1.0-local.8e4c7b11b0ac90236c25`, packed from Xantham commit [`c7e2fa0`](https://github.com/shayanhabibi/Xantham/commit/c7e2fa0daa2ed3ec662cd453ae4c287a6a28673b).
49+
Xantham generates the 31 runtime libraries from 112 selected npm entry points, together with the three AI SDK contract libraries they share. The generator version and build hashes are recorded in [`config/tool-packages.json`](config/tool-packages.json).
4450

4551
### Hawaii
4652

@@ -60,11 +66,13 @@ The 31 runtime libraries bind the Cloudflare SDKs below, and 11 control-plane cl
6066

6167
| Area | Cloudflare SDKs |
6268
| --- | --- |
69+
| Agents | Agents SDK, MCP, Code Mode, chat, Think, Shell, Git, Voice and email |
70+
| AI | AI Utils, and the AI Gateway, Workers AI and AI Search providers |
71+
| Data and analytics | D1, R2, KV, Vectorize and Analytics Engine through native bindings and management clients |
72+
| Compute | Containers, Sandbox, Computer |
73+
| Versioned repositories | Artifacts through the Workers runtime binding |
6374
| Workers platform | Workers runtime types and native bindings |
64-
| Agents | Agents SDK, Code Mode, Shell, Voice |
65-
| AI | AI Chat, Think, AI Utils, and the AI Gateway, Workers AI and AI Search providers |
66-
| Compute | Computer, Sandbox |
67-
| Services | Containers, Actors, Dynamic Workflows, Workers OAuth Provider, KV Asset Handler, Cabidela, Chanfana |
75+
| Services | Actors, Dynamic Workflows, Workers OAuth Provider, KV Asset Handler, Cabidela, Chanfana |
6876
| RPC | Cap'n Web |
6977
| Feature flags | Flagship |
7078
| Pages | Cloudflare Access, Turnstile and Static Forms plugins |
@@ -153,18 +161,19 @@ npm run build
153161
npm run test:bridge
154162
```
155163

156-
[`docs/local-tools.md`](docs/local-tools.md) covers the tool bootstrap, and [`docs/sdk-build.md`](docs/sdk-build.md) covers generation, resumable builds and the recorded evidence.
164+
[`docs/local-tools.md`](docs/local-tools.md) covers the tool bootstrap, and [`docs/sdk-build.md`](docs/sdk-build.md) covers generation, resumable builds and build reports.
157165

158-
## Acceptance Evidence
166+
## Testing
159167

160-
The [September 13 acceptance record](docs/SDK-DELIVERY-ACCEPTANCE-20260913.md) documents the accepted delivery. Its evidence comes from local runs:
168+
The tests cover package consumption, library composition, HTTP contracts and runtime behavior:
161169

162-
- The solution builds in Release with every generated library, and [`tests/SDKComposition`](tests/SDKComposition/README.md) compiles cross-library consumers against it.
170+
- The [site examples](site/examples) compile against NuGet packages through the [release tooling](docs/nuget-release.md).
171+
- [`tests/SDKComposition`](tests/SDKComposition/README.md) checks that types from different libraries work together.
163172
- [`tests/HawaiiApi`](tests/HawaiiApi/README.md) runs the Tenancy and Compute clients against a loopback server.
164-
- [`tests/ByteBridge`](tests/ByteBridge/README.md) runs Fable-compiled Workers body bindings under Node, and its 13 checks pass.
165-
- The [Durable Object acceptance](docs/DURABLE-OBJECTS-ACCEPTANCE.md) runs a local workerd lifecycle with verified cleanup.
173+
- [`tests/ByteBridge`](tests/ByteBridge/README.md) runs Fable-compiled Workers body bindings under Node.
174+
- The [Durable Object testing guide](docs/durable-objects-testing.md) covers storage, alarms, restarts and cleanup.
166175

167-
All of these runs are local. The [integration acceptance architecture](docs/INTEGRATION-ACCEPTANCE.md) specifies hosted test families that deploy real resources and confirm their cleanup.
176+
The [integration testing guide](docs/integration-testing.md) covers fixture setup, execution and cleanup. To contribute a scenario or report a binding problem, start with [Verify bindings](https://fsprojects.github.io/FSharp.CloudEdge/guide/verify-bindings/).
168177

169178
## Community Maintenance
170179

‎docs/AI-GATEWAY-SDK-SELECTION-20260913.md‎

Lines changed: 0 additions & 84 deletions
This file was deleted.

0 commit comments

Comments
 (0)