1.0.0-beta.10 · latest
Pulse documentation
Source e69e4b6f1381 · Published v1.0.0-beta.10
Start with a working project, then follow the guides and concepts as you need
more detail. Pulse uses TypeScript handlers, explicit schemas and capabilities,
a .pulse/config.ts project profile, and the pulse CLI. The synchronized
release catalog defines package versions
and support tiers.
1. Start and ship a first project
Section titled “1. Start and ship a first project”- Getting started — install and create a first project.
- Project lifecycle — the normal
init → doctor → test → dev → buildjourney and the advancedinspect/compilebranches. - Beta scope — what the release guarantees and deliberately excludes.
- Canonical examples — source-bound projects, including Entities, events, and the resource-backed Pulse context MCP server.
2. Follow a task-oriented guide
Section titled “2. Follow a task-oriented guide”- Static Router authoring
- Explicit JSON schemas
- Fetching and composing data
- Project lifecycle
- Static events and outbound emission
- Migrate an Express service
- Node build and execution
- Fastly deployment candidates — including links to bindings and GRIP/Fanout.
- Troubleshooting
3. Understand the model
Section titled “3. Understand the model”- Architecture overview — application, compiler, runtime and provider responsibilities.
- Targets and host work — choose a target and distinguish current support from future hosts.
- Contracts and providers — bindings, eligibility and host realization.
- Effects and continuations — execution ownership, concurrency and failure.
- Structured and opaque bodies — data ownership and bounded reads.
- Compilation and lowering — how eligible Native source becomes Wasm.
- Entity engine, adapters, and facades — protocol boundaries around governed operations.
- Package-owned lowering — advanced extension and trust details.
For deeper implementation invariants, see the linked Architecture contracts. Architecture vision describes direction rather than release support.
4. Use a package directly
Section titled “4. Use a package directly”@pulse-compute/pulse@pulse-compute/runtime@pulse-compute/cli@pulse-compute/provider-fastly@pulse-compute/grip@pulse-compute/assets@pulse-compute/crypto@pulse-compute/jwt@pulse-compute/entities@pulse-compute/mcp@pulse-compute/s3- All package support tiers
- Implementation packages
5. Look up exact behavior
Section titled “5. Look up exact behavior”- Reference overview
- Canonical API
- Provider and target compatibility
- Managed handler TypeScript and JavaScript
- Native build optimization — default recipe, fallback and optional build settings.
- CLI
- Project configuration
- Diagnostics and remediation
- Environment variables
- Shell completion
- Compatibility import migration — for projects using older package subpaths.
- CLI machine specification
- Normalized configuration JSON Schema bundle — resolved CLI/provider options; use the authored property map above for
.pulse/config.ts.
6. Authors and contributors
Section titled “6. Authors and contributors”- Pulse-aware package authoring
- Contributor guide index
- Package-owned lowerer contract
- Add a first-party package-owned lowerer
- Entities lowering maintainer reference
- Add a core provider
- Changelog
- Package support and extension boundaries
Entry points for tools and agents
Section titled “Entry points for tools and agents”For an application task, start with this index, the installed package guides and
project lifecycle. Pin the selected package
version, project root and profile before interpreting commands. The CLI ships
this documentation under its package's docs/ directory, plus API.md and
cli-spec.json; use pulse --help for the supported command list.
For a change to Pulse itself, first read the repository's root and nearest
AGENTS.md, then choose one named Entry Point and its canonical owners. Installed
application documentation is not a substitute for repository maintenance policy.
See the contributor workflow.
Diagnosing command results explains JSON streams, evidence limits and recovery. A release number alone does not identify uncommitted source or prove that a local artifact matches it.