docs: document the TypeScript SDK and refresh the dApp build guide#60
Merged
Conversation
iduartgomez
approved these changes
Jun 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The developer docs under
/build/manual/predated the published TypeScript SDK(
@freenetorg/freenet-stdlib) and the currentfreenet-agent-skillsdApp workflow. They pinned anold crate version, used the retired
freenet publishcontract flow, documented an in-repo SDK buildthat no longer exists, and never described the npm SDK or the TypeScript + Vite path.
This PR brings the developer docs in line with the current SDK and reference app (Raven), adds a
dedicated TypeScript SDK reference, and restructures the manual so the client SDKs are a first-class
section separate from contract authoring.
Closes #59
What changed
build/manual/typescript-sdk.mddocumentsFreenetWsApi,ResponseHandler, therequest/response classes,
ContractKey/containers, theUpdateDataunion, delegate messaging,and streaming. Includes a Request ordering section for the
get()FIFO hazard.TOC, separate from the Rust contract-authoring docs, with reciprocal cross-links.
components/ui.md: documents the SDK end to end (npm install, WebSocket URL fromlocation.host, the promise API, Vitebase: "./", CSP notes).tutorial.md: stops hardcoding thefreenet-stdlibversion (recommendscargo add), adds thefdevprerequisite, fixes contract publishing tofdev publish ... contract --state, and adds theTypeScript + Vite UI path alongside Dioxus.
example-app.md: rewritten from the broken legacy page to the current examples (freenet-ping,Raven, River) with the real toolchain.
freenet-microbloggingreferences now point to Raven(https://github.com/freenet/raven) and present it as the TypeScript + Vite reference app.
freenet@freenet-agent-skills) and skill label(
dapp-builder) inbuild/_index.md; Vite +fdev publish --webapp-archivenote and[webapp]anchor fix in
manifest.md; localhost +/v1/container URL inglossary.md; corrected publishcommand in
docker.md; em-dashes removed per the site style.How it was validated
(
freenet-stdlib/typescript:websocket-interface.ts,streaming.ts) and thefreenet-agent-skillsdapp-builderworkflow.(
web/src/freenet-api.ts,web/vite.config.ts,Makefile.toml). This surfaced and correctedthree issues: the
get()request-ordering hazard, theContractKeyboth-parts caveat, and anover-strict CSP/CDN claim.
cargo add/npm installrather than hardcoded versions.