FIND YOUR WAY
Search KetJS
Browse guides and examples, or use the search button to find a topic.
Find KetJS contracts by responsibility, from module composition and request execution to data, rendering and runtime operations.
docsQuick startScaffold, inspect, and run a minimal KetJS application.
docsDirectory structureUnderstand the files in a scaffolded application and how modules grow.
docsConfigurationConfigure workspace selection, deployment boundaries and runtime settings.
docsModules and manifestBuild composable KetJS modules and understand the immutable manifest derived from a deployment.
docsWorkspaces and deploymentsDefine immutable KetJS deployments, shared datastores, themes, HTTP roles, and workers.
docsModule discoveryResolve selected KetJS modules from filesystem roots without making file presence executable.
docsRequest lifecycleFollow a request through deployment composition, identity, domain behavior and rendering.
docsFunctions and effectsDefine KetJS operations with checked signatures, explicit effects, permissions, dry-run, and idempotency.
docsHTTP routes and responsesServe KetJS functions, module routes, dynamic paths, HTML, JSON, binary data, and streamed responses.
docsForm validationShare form schemas between server and browser, manage field state, and return structured HTTP 422 errors.
docsHTTP contracts and OpenAPIRecord transport-neutral HTTP contracts in the KetJS manifest and generate deployment-specific OpenAPI documents.
docsModels and scopesDeclare KetJS models, field types, indexes, relations, extensions, and row isolation.
docsMigrations and adaptersDerive schemas, plan safe migrations, use SQLite or PostgreSQL, and migrate tenant fleets.
docsQueries and changesetsRead and write KetJS data with immutable queries, validated changesets, and transactions.
docsSessions and tenantsConfigure signed sessions, company and branch scope, permissions, and one-database-per-tenant isolation.
docsAuthorizationGrant operations, enforce declared effects and keep tenant data isolated.
docsRendering and islandsBuild first-party UI with ketjs-view signals, templates, SSR, hydration, JSX, and interactive islands.
docsEffects and data fetchingUnderstand reactive effect execution, async cleanup, SSR data boundaries and race-safe browser requests in ketjs-view.
docsStatic sites with ketjs-viewScaffold, develop, and deliver plain HTML, CSS, and JavaScript with explicit interactive islands.
docsThemes and KTLBuild KetJS themes with KTL templates, browser JavaScript, styles, tokens, regions, joints, sections, and islands.
docsMenus and localizationCompose permission-aware navigation and module-owned translated message catalogues.
docsReports and PDFDeclare business-owned reports and render constrained KTL as deterministic PDF documents.
docsDurable jobs and workersDeclare, enqueue, execute, retry, inspect, and operate KetJS background jobs.
docsStorage, transport, and streamsUse tenant-namespaced blob storage, bounded uploads, outbound providers, and resumable streams.
docsOperational loggingDrivers, the event catalogue, redaction, and how KetJS records what a deployment is doing.
docsTestingExercise KetJS applications through real HTTP, isolated datastores, sessions, tenants, and durable workers.
docsBenchmarksCompare KetJS database execution, HTTP server and SSR performance with repeatable workloads, exact versions and HTML charts.
docsDeploymentBuild, migrate, release, scale, and operate KetJS HTTP and worker processes safely.
docsLearn KetJS, step by stepBuild a website and a task application while learning ketjs-view, modules, databases, APIs, security, jobs and deployment. Follow one practical path from your first signal to a reviewed application.
learnChoose your route through KetJSUnderstand the packages, set up your tools, and see how the projects in this course fit together.
learnNotes applicationA SQLite-backed application with a module, model, function, migration, and HTTP route.
examplesPublic APISupported KetJS, theme, testing, view, and PostgreSQL package entrypoints.
docsWhy KetJS starts with an application contractHow explicit modules, checked composition and deployment manifests help keep business applications understandable as their features grow.
blogCLI and configurationInspect, build, run, migrate, and configure KetJS applications from the ket command line.
docsCreate your first View projectScaffold a standalone ketjs-view project, inspect its files, and run a production build.
learnDatabase correctness before convenienceWhy model scope, exact decimals, validated changesets and explicit transactions matter more than a convenient CRUD wrapper.
blogStatic site with islandsBuild plain HTML, CSS, and JavaScript with optional interactive islands and no application server.
examplesTenant isolation is more than a query filterSeparate tenant databases, company scope, request identity and operation permissions when designing a secure KetJS application.
blogWrite a pure TSX pageCompose markup with functions, typed props, lists and accessible HTML while keeping rendering pure.
learnBuild a counter with signalsCreate state once per island, update it through events, and understand why the view returns a function.
learnHTML first, islands where interaction belongsChoose static rendering, server rendering and interactive islands deliberately, and keep browser behavior separate from pure ketjs-view templates.
blogFetching data without losing control of effectsUnderstand synchronous reactive tracking, browser lifecycle cleanup, initial SSR data and race-safe requests in ketjs-view islands.
blogGrow the counter into a todo listHandle form submission, derive counts, and preserve item identity with keyed lists.
learnDurable jobs without a second source of truthHow transactional enqueueing, database leases and idempotent handlers keep background work aligned with business data in KetJS.
blogValidate a form with a shared schemaCast and validate form values, present useful errors, and retain the server validation boundary.
learnOwn browser effects and cleanupAttach browser resources after hydration and release them when the island is removed.
learnWhat a framework benchmark actually tells youRead KetJS database, HTTP and SSR comparisons by workload, durability settings and measured boundary instead of treating a chart as a universal ranking.
blogHow to evaluate a preview framework without betting your product on itA practical KetJS evaluation plan covering a complete workflow, failure tests, deployment boundaries, reproducible upgrades and useful project feedback.
blogUnderstand effects and reactive dependenciesLearn when an effect runs, what it tracks, how cleanup works, and why async work needs an explicit owner.
learnFetch data without render side effectsBuild a searchable list with loading, empty, error and retry states, request cancellation and safe hydration.
learnPublish a small static websiteBuild a multi-page website with metadata, native links, assets and explicit islands.
learnGenerate pages from contentTurn a small content collection into static routes and learn when client navigation is worth adding.
learnStart the local backend labScaffold a real Node application, run the learning CLI, and inspect the completed Todo API reference.
learnCompose a module and inspect its manifestDeclare one capability with a model and functions, then inspect the checked composition.
learnUnderstand workspaces and deployment rolesSelect a complete application composition and distinguish HTTP, worker and datastore responsibilities.
learnModel tasks and company scopeDeclare a typed Todo model, inspect the generated schema, and distinguish identity from scope.
learnRead and order data with queriesUse checked table handles, explicit projections and predictable ordering to build your task list.
learnValidate writes with functions and changesetsCreate tasks through a named operation with checked input, declared effects and controlled writable fields.
learnKeep related writes atomicUse one transaction context for business changes and queued work, and design a rollback experiment.
learnExpose the Todo API through HTTPBuild a bounded JSON facade with method handling, domain calls and useful status codes.
learnDocument and inspect API contractsDistinguish function signatures from route metadata and keep generated API documentation aligned with deployment.
learnConnect an island to the APIManage pending, success and error states around a real request while preserving user input.
learnSeparate tenants, companies and sessionsUnderstand the identity layers and prove that company-scoped records stay isolated.
learnGrant operations and bound their effectsDistinguish caller permissions from declared capabilities and test denial at the server boundary.
learnCompose server rendering and themesChoose between trusted TSX views and KTL theme presentation while preserving browser lifecycle and server permissions.
learnBuild navigation and translated messagesKeep message keys and permission-aware navigation beside the module that owns their meaning.
learnRun durable background workEnqueue work transactionally, run a real worker, and design handlers that tolerate retries.
learnHandle files, outbound services and streamsDesign bounded uploads, tenant-owned storage and resumable delivery without buffering everything into memory.
learnExpose reports and agent capabilitiesReuse explicit business projections for printable output and machine-readable operations.
learnTest the deployment you actually shipExercise real HTTP, scoped data and workers with isolated deployment fixtures and targeted checkpoints.
learnEvolve the schema and try PostgreSQLPlan a schema change, distinguish planning from application, and preserve adapter contracts when changing databases.
learnObserve behavior and measure performanceUse structured operational records and reproducible measurements to diagnose the application you built.
learnPrepare an evaluation deployment and upgradeBuild an immutable artifact, separate migrations and process roles, and plan an upgrade while KetJS is in preview.
learnFinish and review your task applicationCombine the course into an application and assess it against concrete frontend, data, security and operations requirements.
learnEngineering with KetJSThe decisions behind the framework. Notes on architecture, data correctness and building applications that stay understandable as they grow.
blogStart with something realSmall, focused examples that show how KetJS fits together.
examplesRelease notesThe coordinated KetJS 0.2.0 release and its package boundaries.
docsUpgrading KetJSAudit compatibility, physical schemas, queries, and tenant sessions before changing a KetJS version.
docsArchitecture decisionsHistorical design rationale and trade-offs; current contracts live in the topic guides.
docsOpen questionsKnown gaps, unsettled design questions, and weak spots in the current implementation.
docsContributingWork on KetJS with explicit package ownership and focused verification.
docsPublishing packagesPrepare, verify, and publish a coordinated KetJS release to npm.
docs