Askr · TypeScript application framework
TypeScript apps.
Explicit by design.
Build interfaces with function components and explicit state. Connect routes, data, and server code as your application grows.
Create an application
npx @askrjs/cli@latest create startkit my-appOpen source. Apache 2.0. Built with TypeScript.
State and routes, in one fileapp.tsx
import { state } from '@askrjs/askr';
import { createSPA } from '@askrjs/askr/boot';
import { createRouteRegistry, route } from '@askrjs/askr/router';
function Counter() {
const [count, setCount] = state(0);
return (
<button onClick={() => setCount((value) => value + 1)}>
Count: {count()}
</button>
);
}
const registry = createRouteRegistry(() => route('/', Counter));
await createSPA({ root: '#app', registry });Read the current value, update it on click, and register the page.
Start with the docs.
Follow a guide, explore components, or look up an API.
Create your first app
Install Askr, choose a starter, and build your first application.
Build your interface
Explore components, interaction patterns, and themes.
Connect the server
Work with HTTP routes, validation, and authentication.
Look up an API
Find package exports, TypeScript signatures, and reference material.
This site is built with Askr's static-site generator and served as static files.