@invisibleloop/pulse 0.20.42 → 0.20.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,102 @@
1
+ # Pulse
2
+
3
+ **A spec-first, AI-native web framework.** Early access.
4
+
5
+ Write a plain JavaScript object that describes what a page does. Pulse handles routing, SSR, hydration, client-side navigation, compression, security headers, and caching automatically.
6
+
7
+ ```js
8
+ export default {
9
+ route: '/counter',
10
+ meta: {
11
+ title: 'Counter',
12
+ styles: ['/app.css'],
13
+ },
14
+
15
+ state: { count: 0 },
16
+
17
+ constraints: {
18
+ count: { min: 0, max: 10 },
19
+ },
20
+
21
+ view: (state) => `
22
+ <main id="main-content">
23
+ <p>${state.count}</p>
24
+ <button data-event="decrement">−</button>
25
+ <button data-event="increment">+</button>
26
+ </main>
27
+ `,
28
+
29
+ mutations: {
30
+ increment: (state) => ({ count: state.count + 1 }),
31
+ decrement: (state) => ({ count: state.count - 1 }),
32
+ },
33
+ }
34
+ ```
35
+
36
+ ## Requirements
37
+
38
+ Node.js 22 or later.
39
+
40
+ ## Getting started
41
+
42
+ ```bash
43
+ npm install -g @invisibleloop/pulse
44
+ mkdir my-project && cd my-project
45
+ pulse
46
+ ```
47
+
48
+ Running `pulse` in an empty directory scaffolds a new project and starts an AI coding session. Your agent has MCP tools and slash commands available from the first prompt.
49
+
50
+ Full documentation: **[pulseframework.dev](https://pulseframework.dev)**
51
+
52
+ ## Key ideas
53
+
54
+ **The spec is the source of truth.** Every page is a single JS object — data fetching, state, mutations, async actions, and view all in one place. No separate files for routes, controllers, or templates.
55
+
56
+ **Performance is built in.** Streaming SSR, immutable asset caching, and zero layout shift are automatic. Every scaffolded project targets Lighthouse 100 for Accessibility, Best Practices, and SEO — and is fast by design (streaming HTML before data resolves, CLS 0.00).
57
+
58
+ **No client-side dependencies.** Pulse ships no runtime framework to the browser — only a small hydration bundle (~2 kB brotli) that binds your spec's mutations and actions to the DOM.
59
+
60
+ **AI-native.** The CLI starts an MCP server alongside the dev server, giving the coding agent tools to create pages, validate specs, and run Lighthouse audits — all without leaving the editor.
61
+
62
+ ## CLI
63
+
64
+ ```bash
65
+ pulse # scaffold a new project or start AI session
66
+ pulse dev # dev server (default port 3000)
67
+ pulse build # production build → public/dist/
68
+ pulse start # production server
69
+ pulse update # upgrade Pulse to the latest version and refresh copied assets
70
+ ```
71
+
72
+ ## Docs
73
+
74
+ Full reference at [pulseframework.dev](https://pulseframework.dev):
75
+
76
+ - **Getting started** — install, scaffold, first page
77
+ - **The spec** — full reference for every property
78
+ - **State, mutations, actions** — client interactivity
79
+ - **Server data** — async data fetching before render
80
+ - **Routing** — dynamic routes and URL params
81
+ - **Streaming SSR** — shell + deferred segments
82
+ - **Caching** — per-page TTL and HTTP cache headers
83
+ - **Guard** — authentication and authorisation before data fetches
84
+ - **Validation & constraints** — declarative form validation and state bounds
85
+ - **Raw responses** — RSS feeds, sitemaps, JSON APIs
86
+ - **Markdown** — built-in parser for blog posts and docs pages, zero browser JS
87
+ - **Performance** — how the framework hits Lighthouse 100
88
+ - **UI components** — 50+ built-in components
89
+
90
+ ## Reporting framework bugs
91
+
92
+ If your coding agent hits what looks like a bug in Pulse itself, it can file a report through the `pulse_report_issue` MCP tool. It is always a two-step process: the tool first returns a redacted preview (local paths, tokens, secrets and emails stripped), and nothing is sent until the agent confirms that exact payload. Reports become GitHub issues on [invisibleloop/pulse-framework](https://github.com/invisibleloop/pulse-framework).
93
+
94
+ To turn it off, set `reportFeedback: false` in `pulse.config.js`.
95
+
96
+ ## Status
97
+
98
+ This is an early-access release. The core architecture is stable and production-quality, but the API may evolve before v1. Feedback and issues welcome on [GitHub](https://github.com/invisibleloop/pulse-framework).
99
+
100
+ ## License
101
+
102
+ MIT
package/package.json CHANGED
@@ -1,9 +1,24 @@
1
1
  {
2
2
  "name": "@invisibleloop/pulse",
3
- "version": "0.20.42",
3
+ "version": "0.20.44",
4
4
  "type": "module",
5
5
  "description": "AI-first frontend framework. The spec is the source of truth.",
6
6
  "license": "MIT",
7
+ "homepage": "https://pulseframework.dev",
8
+ "bugs": {
9
+ "url": "https://github.com/invisibleloop/pulse-framework/issues"
10
+ },
11
+ "keywords": [
12
+ "framework",
13
+ "frontend",
14
+ "ssr",
15
+ "streaming",
16
+ "spec",
17
+ "mcp",
18
+ "ai",
19
+ "agent",
20
+ "zero-dependency"
21
+ ],
7
22
  "bin": {
8
23
  "pulse": "./src/cli/index.js"
9
24
  },
@@ -1 +1 @@
1
- 0.20.42
1
+ 0.20.44