Skip to content

Commit 7bfdaaa

Browse files
authored
chore: rename npm scope to @intent-framework (#41)
1 parent 75d209b commit 7bfdaaa

30 files changed

Lines changed: 136 additions & 128 deletions

AGENTS.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -91,22 +91,22 @@ If implementation and docs disagree:
9191
The current MVP focuses on:
9292

9393
```txt
94-
@intent/core
95-
@intent/dom
96-
@intent/testing
97-
@intent/server
98-
@intent/router
94+
@intent-framework/core
95+
@intent-framework/dom
96+
@intent-framework/testing
97+
@intent-framework/server
98+
@intent-framework/router
9999
examples/web-basic
100100
```
101101

102102
Do not start these without explicit user direction:
103103

104104
```txt
105-
@intent/devtools
106-
@intent/openapi
107-
@intent/realtime
108-
@intent/react-native
109-
@intent/compiler
105+
@intent-framework/devtools
106+
@intent-framework/openapi
107+
@intent-framework/realtime
108+
@intent-framework/react-native
109+
@intent-framework/compiler
110110
complex SSR
111111
complex server adapters
112112
visual editor
@@ -123,7 +123,7 @@ Build the dagger before the cathedral.
123123

124124
### Core
125125

126-
`@intent/core` must stay semantic and platformless.
126+
`@intent-framework/core` must stay semantic and platformless.
127127

128128
It must not depend on:
129129

@@ -171,11 +171,11 @@ React component
171171

172172
### DOM
173173

174-
`@intent/dom` may depend on:
174+
`@intent-framework/dom` may depend on:
175175

176176
```txt
177-
@intent/core
178-
@intent/router
177+
@intent-framework/core
178+
@intent-framework/router
179179
```
180180

181181
It must not depend on React.
@@ -195,10 +195,10 @@ Browser DevTools should show real, inspectable DOM.
195195

196196
### Router
197197

198-
`@intent/router` may depend on:
198+
`@intent-framework/router` may depend on:
199199

200200
```txt
201-
@intent/core
201+
@intent-framework/core
202202
```
203203

204204
It must preserve typed route params and service typing.
@@ -207,10 +207,10 @@ Do not make core depend on router.
207207

208208
### Server
209209

210-
`@intent/server` may depend on:
210+
`@intent-framework/server` may depend on:
211211

212212
```txt
213-
@intent/core
213+
@intent-framework/core
214214
```
215215

216216
Prefer Web API concepts:

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ The renderer then materializes that graph.
6565
## Tiny example
6666

6767
```ts
68-
import { screen, state } from "@intent/core"
68+
import { screen, state } from "@intent-framework/core"
6969

7070
export const InviteScreen = screen("Invite", $ => {
7171
const email = $.state.text("email")
@@ -159,11 +159,11 @@ This repository currently contains:
159159

160160
| Package | Purpose |
161161
| ----------------- | --------------------------------------- |
162-
| `@intent/core` | Platformless semantic graph and runtime |
163-
| `@intent/dom` | DOM materializer for screens and router |
164-
| `@intent/router` | Typed route definitions and navigation |
165-
| `@intent/testing` | Semantic test harness |
166-
| `@intent/server` | Early server-side package |
162+
| `@intent-framework/core` | Platformless semantic graph and runtime |
163+
| `@intent-framework/dom` | DOM materializer for screens and router |
164+
| `@intent-framework/router` | Typed route definitions and navigation |
165+
| `@intent-framework/testing` | Semantic test harness |
166+
| `@intent-framework/server` | Early server-side package |
167167

168168
The core package must remain platformless. It should not import DOM, React, router internals, server framework code, or native APIs.
169169

docs/Demo.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,11 @@ Key patterns:
144144
See the MVP scope in `AGENTS.md`. The following are explicitly out of scope for
145145
the current MVP:
146146

147-
- `@intent/devtools` — no DevTools extension or debugger UI
148-
- `@intent/openapi` — no OpenAPI contract generation
149-
- `@intent/realtime` — no WebSocket or SSE subscriptions
150-
- `@intent/react-native` — no native renderer
151-
- `@intent/compiler` — no build-time graph analysis
147+
- `@intent-framework/devtools` — no DevTools extension or debugger UI
148+
- `@intent-framework/openapi` — no OpenAPI contract generation
149+
- `@intent-framework/realtime` — no WebSocket or SSE subscriptions
150+
- `@intent-framework/react-native` — no native renderer
151+
- `@intent-framework/compiler` — no build-time graph analysis
152152
- Complex SSR, streaming hydration, or edge adapters
153153
- Visual editor or AI assistant
154154
- Design system or CSS framework integration

docs/MVP-Checkpoint.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ It now has:
5454

5555
## Implemented packages
5656

57-
- `@intent/core` — semantic graph and runtime ([packages/core](../packages/core))
58-
- `@intent/dom` — DOM materializer ([packages/dom](../packages/dom))
59-
- `@intent/router` — typed route definitions ([packages/router](../packages/router))
60-
- `@intent/testing` — semantic test harness ([packages/testing](../packages/testing))
61-
- `@intent/server` — early server package ([packages/server](../packages/server))
57+
- `@intent-framework/core` — semantic graph and runtime ([packages/core](../packages/core))
58+
- `@intent-framework/dom` — DOM materializer ([packages/dom](../packages/dom))
59+
- `@intent-framework/router` — typed route definitions ([packages/router](../packages/router))
60+
- `@intent-framework/testing` — semantic test harness ([packages/testing](../packages/testing))
61+
- `@intent-framework/server` — early server package ([packages/server](../packages/server))
6262

6363
## Implemented primitives
6464

@@ -83,7 +83,7 @@ Demo limitations: manual DOM side panels, `MutationObserver`-driven diagnostics
8383

8484
- CI runs clean-dist validation on every PR and push to `main`.
8585
- Validation: `rm -rf packages/*/dist examples/*/dist` then `pnpm test && pnpm typecheck && pnpm build && pnpm lint`.
86-
- Tests assert semantic behavior via `@intent/testing` and core inspection APIs.
86+
- Tests assert semantic behavior via `@intent-framework/testing` and core inspection APIs.
8787

8888
## Architectural boundaries
8989

docs/Release-Readiness.md

Lines changed: 35 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,17 @@ All five packages under `packages/*` are intended to be published:
1212

1313
| Package | npm name | Purpose |
1414
|---|---|---|
15-
| `packages/core` | `@intent/core` | Platformless semantic graph and runtime |
16-
| `packages/dom` | `@intent/dom` | DOM materializer for screens and router |
17-
| `packages/router` | `@intent/router` | Typed route definitions and navigation |
18-
| `packages/testing` | `@intent/testing` | Semantic test harness |
19-
| `packages/server` | `@intent/server` | Early server-side package |
15+
| `packages/core` | `@intent-framework/core` | Platformless semantic graph and runtime |
16+
| `packages/dom` | `@intent-framework/dom` | DOM materializer for screens and router |
17+
| `packages/router` | `@intent-framework/router` | Typed route definitions and navigation |
18+
| `packages/testing` | `@intent-framework/testing` | Semantic test harness |
19+
| `packages/server` | `@intent-framework/server` | Early server-side package |
2020

2121
Packages under `examples/` (e.g., `web-basic`) are private and must not be published.
2222

2323
## Package audit
2424

25-
### `@intent/core`
25+
### `@intent-framework/core`
2626

2727
| Field | Value | Status |
2828
|---|---|---|
@@ -40,7 +40,7 @@ Packages under `examples/` (e.g., `web-basic`) are private and must not be publi
4040
| Build tool | `tsdown` | Bundles ESM + `.d.ts` |
4141
| Test harness | `vitest` | Tests pass |
4242

43-
### `@intent/dom`
43+
### `@intent-framework/dom`
4444

4545
| Field | Value | Status |
4646
|---|---|---|
@@ -53,10 +53,10 @@ Packages under `examples/` (e.g., `web-basic`) are private and must not be publi
5353
| `description` | Present | Added in this audit |
5454
| `license` | MIT field present | Root LICENSE file present |
5555
| `repository` | Missing | Recommended |
56-
| `dependencies` | `@intent/core`, `@intent/router` | Uses `workspace:*` — correct for monorepo |
56+
| `dependencies` | `@intent-framework/core`, `@intent-framework/router` | Uses `workspace:*` — correct for monorepo |
5757
| Build tool | `tsdown` | Bundles ESM + `.d.ts` |
5858

59-
### `@intent/router`
59+
### `@intent-framework/router`
6060

6161
| Field | Value | Status |
6262
|---|---|---|
@@ -69,10 +69,10 @@ Packages under `examples/` (e.g., `web-basic`) are private and must not be publi
6969
| `description` | Present | Added in this audit |
7070
| `license` | MIT field present | Root LICENSE file present |
7171
| `repository` | Missing | Recommended |
72-
| `dependencies` | `@intent/core` | Uses `workspace:*` |
72+
| `dependencies` | `@intent-framework/core` | Uses `workspace:*` |
7373
| Build tool | `tsdown` | Bundles ESM + `.d.ts` |
7474

75-
### `@intent/testing`
75+
### `@intent-framework/testing`
7676

7777
| Field | Value | Status |
7878
|---|---|---|
@@ -85,10 +85,10 @@ Packages under `examples/` (e.g., `web-basic`) are private and must not be publi
8585
| `description` | Present | Added in this audit |
8686
| `license` | MIT field present | Root LICENSE file present |
8787
| `repository` | Missing | Recommended |
88-
| `dependencies` | `@intent/core` | Uses `workspace:*` |
88+
| `dependencies` | `@intent-framework/core` | Uses `workspace:*` |
8989
| Build tool | `tsdown` | Bundles ESM + `.d.ts` |
9090

91-
### `@intent/server`
91+
### `@intent-framework/server`
9292

9393
| Field | Value | Status |
9494
|---|---|---|
@@ -101,27 +101,21 @@ Packages under `examples/` (e.g., `web-basic`) are private and must not be publi
101101
| `description` | Present | Added in this audit |
102102
| `license` | MIT field present | Root LICENSE file present |
103103
| `repository` | Missing | Recommended |
104-
| `dependencies` | `@intent/core` | Uses `workspace:*` |
104+
| `dependencies` | `@intent-framework/core` | Uses `workspace:*` |
105105
| Build tool | `tsdown` | Bundles ESM + `.d.ts` |
106106
| Note | Early stage | Server package has global registries and basic action/resource/policy types. Not yet production-ready. |
107107

108-
## Package naming and npm scope risk
108+
## Package naming
109109

110-
All five packages use the `@intent/*` npm scope.
110+
All five packages use the `@intent-framework/*` npm scope.
111111

112-
**Before publishing, confirm ownership or availability of the `@intent` npm organization/scope.**
112+
The `intent-framework` npm organization has been created. The scope is:
113113

114-
If `@intent` is unavailable, choose a different public scope (e.g., `@intent-framework/*`, `@intentjs/*`, or another unique name) before first release. Changing the scope after publishing is disruptive.
115-
116-
Current package names:
117-
118-
- `@intent/core`
119-
- `@intent/dom`
120-
- `@intent/router`
121-
- `@intent/testing`
122-
- `@intent/server`
123-
124-
These names are descriptive and low-risk if the `@intent` scope is available. Scope availability has not been verified.
114+
- `@intent-framework/core`
115+
- `@intent-framework/dom`
116+
- `@intent-framework/router`
117+
- `@intent-framework/testing`
118+
- `@intent-framework/server`
125119

126120
## Build outputs
127121

@@ -157,27 +151,27 @@ All packages expose a single entry point `"."` with three conditions:
157151
}
158152
```
159153

160-
This is correct for ESM-only packages. No package currently exposes sub-path exports (e.g., `@intent/core/internal`), which is fine for alpha.
154+
This is correct for ESM-only packages. No package currently exposes sub-path exports (e.g., `@intent-framework/core/internal`), which is fine for alpha.
161155

162156
## Type declarations
163157

164158
All packages produce `dist/index.d.ts` with correct type declarations.
165159

166-
The root `tsconfig.typecheck.json` maps `@intent/*` workspace packages to their source directories for type-checking without reading stale `dist/` output.
160+
The root `tsconfig.typecheck.json` maps `@intent-framework/*` workspace packages to their source directories for type-checking without reading stale `dist/` output.
167161

168-
Package-level `tsconfig.json` files use `composite: true` (except `@intent/server`, which lacks it) and extend the root config.
162+
Package-level `tsconfig.json` files use `composite: true` (except `@intent-framework/server`, which lacks it) and extend the root config.
169163

170164
## Files included in npm packages
171165

172166
The `files` field in every package is `["dist"]`. Based on `npm pack --dry-run` output:
173167

174168
| Package | Files in tarball | Size |
175169
|---|---|---|
176-
| `@intent/core` | 13 `dist/*` files + `package.json` (14 total) | 38.5 kB unpacked |
177-
| `@intent/dom` | 4 `dist/*` files + `package.json` (4 total) | 10.9 kB unpacked |
178-
| `@intent/router` | 3 `dist/*` files + `package.json` (4 total) | 6.5 kB unpacked |
179-
| `@intent/testing` | 2 `dist/*` files + `package.json` (3 total) | 4.5 kB unpacked |
180-
| `@intent/server` | 2 `dist/*` files + `package.json` (3 total) | 4.2 kB unpacked |
170+
| `@intent-framework/core` | 13 `dist/*` files + `package.json` (14 total) | 38.5 kB unpacked |
171+
| `@intent-framework/dom` | 4 `dist/*` files + `package.json` (4 total) | 10.9 kB unpacked |
172+
| `@intent-framework/router` | 3 `dist/*` files + `package.json` (4 total) | 6.5 kB unpacked |
173+
| `@intent-framework/testing` | 2 `dist/*` files + `package.json` (3 total) | 4.5 kB unpacked |
174+
| `@intent-framework/server` | 2 `dist/*` files + `package.json` (3 total) | 4.2 kB unpacked |
181175

182176
No unnecessary files (source maps, config files, tests, node_modules) leak into the tarball. The `files` policy is correct.
183177

@@ -227,7 +221,7 @@ Do not manually create GitHub Releases.
227221

228222
## First alpha release checklist
229223

230-
- [ ] Confirm npm scope/package names (verify `@intent` org ownership)
224+
- [x] npm scope is `@intent-framework/*``intent-framework` org created, packages renamed
231225
- [ ] Reconfirm MIT is the intended public license before publishing
232226
- [ ] Confirm package metadata (`repository` field in all packages)
233227
- [ ] Confirm package exports (all point to correct `dist/` paths — already correct)
@@ -245,18 +239,17 @@ Do not manually create GitHub Releases.
245239
Before first alpha release, the following must be resolved:
246240

247241
1. **Missing `repository` fields** — Recommended for npm listing and source links.
248-
2. **`@intent` npm scope availability** — Must be verified. If unavailable, a fallback scope must be chosen before first release.
249-
3. **No release workflow** — Changesets and a GitHub Action must be added before publishing.
250-
4. **Server package is very early**`@intent/server` has global registries and minimal API surface. Consider whether to publish it or mark it as private until more mature.
251-
5. **Version is `0.1.0` across all packages** — Consistent, but no pre-release tag (e.g., `0.1.0-alpha.0`) for the first publish.
242+
2. **No release workflow** — Changesets and a GitHub Action must be added before publishing.
243+
3. **Server package is very early**`@intent-framework/server` has global registries and minimal API surface. Consider whether to publish it or mark it as private until more mature.
244+
4. **Version is `0.1.0` across all packages** — Consistent, but no pre-release tag (e.g., `0.1.0-alpha.0`) for the first publish.
252245

253246
## Do not do yet
254247

255248
- Do not publish any package to npm.
256249
- Do not create a GitHub Release.
257250
- Do not add Changesets yet — wait until the audit blockers are resolved.
258251
- Do not add a release GitHub Action yet.
259-
- Do not change package names, versions, or public APIs.
252+
- Do not change versions or public APIs.
260253
- Do not add new dependencies unless required for a specific task.
261254

262255
## Pack check command

examples/web-basic/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
"lint": "tsc --noEmit"
1212
},
1313
"dependencies": {
14-
"@intent/core": "workspace:*",
15-
"@intent/dom": "workspace:*",
16-
"@intent/router": "workspace:*"
14+
"@intent-framework/core": "workspace:*",
15+
"@intent-framework/dom": "workspace:*",
16+
"@intent-framework/router": "workspace:*"
1717
},
1818
"devDependencies": {
1919
"typescript": "^5.7.0",

examples/web-basic/src/demo-panels.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { inspectScreen, type ScreenDefinition } from "@intent/core"
1+
import { inspectScreen, type ScreenDefinition } from "@intent-framework/core"
22
import type { AppServices } from "./types.js"
33
import { teams, teamVersions } from "./data.js"
44

examples/web-basic/src/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { renderRouter } from "@intent/dom"
1+
import { renderRouter } from "@intent-framework/dom"
22
import { router } from "./router.js"
33
import { NotFoundScreen } from "./screens.js"
44
import { updateTeamInfo, updateDiagnostics } from "./demo-panels.js"

examples/web-basic/src/router.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createRouter } from "@intent/router"
1+
import { createRouter } from "@intent-framework/router"
22
import { appPaths, type AppServices } from "./types.js"
33
import { HomeScreen, TeamDetailScreen, InviteScreen } from "./screens.js"
44

examples/web-basic/src/screens.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { screen } from "@intent/core"
1+
import { screen } from "@intent-framework/core"
22
import type { AppServices } from "./types.js"
33
import { loadTeam, inviteMember } from "./data.js"
44

0 commit comments

Comments
 (0)