@niscorp/nisc 0.2.1 → 0.2.3
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/AGENTS.md +2 -0
- package/CHANGELOG.md +37 -0
- package/README.md +6 -2
- package/STYLE_GUIDE.md +17 -1
- package/package.json +12 -12
package/AGENTS.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Reading this from `node_modules/@niscorp/nisc/`?** It is the rulebook for the nisc version installed beside it, shipped with it. Where it names a path in the nisc repository, look here instead: `packages/<name>/README.md` and `DESIGN.md` are `node_modules/@niscorp/<name>/`; `/STYLE_GUIDE.md` is beside this file; the lab apps it holds up as examples (`apps/lab/atrium`, `mythos`, …) and `docs/` are at [github.com/moccadroid/niscorp](https://github.com/moccadroid/niscorp). An app made by `npm create nisc` points its own `AGENTS.md` here.
|
|
4
4
|
|
|
5
|
+
> **Changing nisc itself — a package, not an app built on it?** The `@niscorp` packages are live on npm and may be in use by third parties. No change may break an app that works today, and a breaking change is never yours to decide: it is a last resort that needs the maintainer's explicit approval *before* it is written. Read `/STYLE_GUIDE.md`, "The packages are live", first.
|
|
6
|
+
|
|
5
7
|
For agents generating or reviewing a nisc application. This file states the application-level rules, and it presumes no app that came before it — but it is not the whole specification. The **grammars** live in the package docs, and they are required reading, not background: a layout node, an `ActionDefinition`, a Prism config, a charter document and a Vex DSL are each defined in their own package's `README.md` and `DESIGN.md`. Read the doc for a package before authoring that package's artifact. This file governs how they compose into an application.
|
|
6
8
|
|
|
7
9
|
## The thesis
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# @niscorp/nisc
|
|
2
2
|
|
|
3
|
+
## 0.2.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 80e1ee8: Documentation: the packages are live, and releases are compatible. `STYLE_GUIDE.md` gains "The packages are live" — a release does not break an app that works on the one before it; what should go is deprecated and stays; a breaking change is a last resort that needs the maintainer's approval before it is written — and `AGENTS.md` points every agent changing nisc itself to it. The status lines that said "pre-1.0, breaking changes expected" (nova), "API is pre-1.0 and moves" (moss) and "everything else may move" (tide) now say the same. moss's deprecated `installedIntegrations` is no longer described as scheduled for removal: it stays on the type. The style guide's Node floor is corrected to 22.12, what every package's `engines` already says. No code changes.
|
|
8
|
+
- Updated dependencies [48da7db]
|
|
9
|
+
- Updated dependencies [8a04243]
|
|
10
|
+
- Updated dependencies [8a04243]
|
|
11
|
+
- Updated dependencies [80e1ee8]
|
|
12
|
+
- @niscorp/moss@0.2.3
|
|
13
|
+
- @niscorp/cli@0.2.2
|
|
14
|
+
- @niscorp/nova@0.1.3
|
|
15
|
+
- @niscorp/tide@0.1.2
|
|
16
|
+
|
|
17
|
+
## 0.2.2
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [b67a125]
|
|
22
|
+
- Updated dependencies [633d0d1]
|
|
23
|
+
- Updated dependencies [45d6731]
|
|
24
|
+
- Updated dependencies [633d0d1]
|
|
25
|
+
- Updated dependencies [45d6731]
|
|
26
|
+
- Updated dependencies [45d6731]
|
|
27
|
+
- Updated dependencies [45d6731]
|
|
28
|
+
- @niscorp/charter@0.1.1
|
|
29
|
+
- @niscorp/cli@0.2.1
|
|
30
|
+
- @niscorp/cortex@0.1.1
|
|
31
|
+
- @niscorp/loom@0.1.1
|
|
32
|
+
- @niscorp/prism@0.1.2
|
|
33
|
+
- @niscorp/signal@0.1.1
|
|
34
|
+
- @niscorp/strata@0.1.1
|
|
35
|
+
- @niscorp/moss@0.2.2
|
|
36
|
+
- @niscorp/nova@0.1.2
|
|
37
|
+
- @niscorp/tide@0.1.1
|
|
38
|
+
- @niscorp/vex@0.1.1
|
|
39
|
+
|
|
3
40
|
## 0.2.1
|
|
4
41
|
|
|
5
42
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -14,8 +14,12 @@ was released with, so installing `@niscorp/nisc@0.4.0` installs the set that
|
|
|
14
14
|
was tested as nisc 0.4.0. Import from the packages themselves
|
|
15
15
|
(`@niscorp/nova`, `@niscorp/moss`, …).
|
|
16
16
|
|
|
17
|
-
Its version moves whenever any member's does
|
|
18
|
-
|
|
17
|
+
Its version moves whenever any member's does. The packages are live, and a
|
|
18
|
+
release is compatible with the one before it: installing a newer
|
|
19
|
+
`@niscorp/nisc` does not break an app that worked on the older one. A breaking
|
|
20
|
+
release is a last resort that needs the maintainer's approval; if one ever
|
|
21
|
+
ships in a member, this package breaks with it — `pnpm check:changesets`
|
|
22
|
+
refuses a plan that is missing either the approval or this.
|
|
19
23
|
|
|
20
24
|
## The rulebook
|
|
21
25
|
|
package/STYLE_GUIDE.md
CHANGED
|
@@ -4,6 +4,22 @@ Rules for writing code in this codebase. Short, focused on what matters.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## The packages are live
|
|
8
|
+
|
|
9
|
+
The `@niscorp` packages are published on npm, and people we have never met may be building on them. That decides what a change may do.
|
|
10
|
+
|
|
11
|
+
- **A release does not break an app that works on the release before it.** If an app would have to change anything to keep working — an import, a call, a type it relied on, a config field, an artifact, a command or a flag — the change is breaking.
|
|
12
|
+
- **A breaking change is a failure of the design, not a kind of release.** Find the compatible shape first: add beside what is there, keep the old spelling working, make new behaviour something an app opts into. What should go is marked `@deprecated` and stays. A default may get better; where some setup would stop working under the new one, it gets a way to keep the old, and the changeset names that setup.
|
|
13
|
+
- **Nobody breaks a package on their own judgment.** If you believe a break cannot be avoided: stop before writing it. Say so first — at the top of what you report, not in a summary of work done — with the compatible shapes you tried and why each one fails, and wait. It ships only with the maintainer's explicit approval, as the last resort.
|
|
14
|
+
- **Not sure whether it breaks?** That is the same stop: say what would change for an app that exists today, and ask.
|
|
15
|
+
- **Data never breaks; it migrates.** Tables and stored documents move through strata sequences (AGENTS.md 17–20).
|
|
16
|
+
|
|
17
|
+
Mechanically: every package change carries a changeset, and its bump is `patch`. Below 1.0 a `minor` is the breaking bump, and `pnpm check:changesets` refuses one whose changeset does not carry its approval (`docs/releasing.md`).
|
|
18
|
+
|
|
19
|
+
This binds the packages. An app is its own to change.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
7
23
|
## TypeScript Strictness
|
|
8
24
|
|
|
9
25
|
- `strict: true` in tsconfig. Always.
|
|
@@ -226,5 +242,5 @@ export const createShell = (config: ShellConfig, bus: MessageBus, reg: Registry,
|
|
|
226
242
|
## Build
|
|
227
243
|
|
|
228
244
|
- ESM source, dual ESM/CJS output via tsup.
|
|
229
|
-
- Target ES2022, Node >=
|
|
245
|
+
- Target ES2022, Node >= 22.12 (what every package's `engines` says).
|
|
230
246
|
- Minimal dependencies. Every dep must earn its place.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@niscorp/nisc",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "The nisc platform as one known-compatible set: every @niscorp package, each pinned to the exact version it was released with.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -19,18 +19,18 @@
|
|
|
19
19
|
"node": ">=22.12"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@niscorp/
|
|
23
|
-
"@niscorp/
|
|
24
|
-
"@niscorp/
|
|
25
|
-
"@niscorp/moss": "0.2.
|
|
26
|
-
"@niscorp/
|
|
27
|
-
"@niscorp/nova": "0.1.
|
|
28
|
-
"@niscorp/prism": "0.1.
|
|
22
|
+
"@niscorp/cli": "0.2.2",
|
|
23
|
+
"@niscorp/charter": "0.1.1",
|
|
24
|
+
"@niscorp/cortex": "0.1.1",
|
|
25
|
+
"@niscorp/moss": "0.2.3",
|
|
26
|
+
"@niscorp/loom": "0.1.1",
|
|
27
|
+
"@niscorp/nova": "0.1.3",
|
|
28
|
+
"@niscorp/prism": "0.1.2",
|
|
29
|
+
"@niscorp/signal": "0.1.1",
|
|
30
|
+
"@niscorp/strata": "0.1.1",
|
|
31
|
+
"@niscorp/vex": "0.1.1",
|
|
29
32
|
"@niscorp/solid": "0.1.0",
|
|
30
|
-
"@niscorp/
|
|
31
|
-
"@niscorp/tide": "0.1.0",
|
|
32
|
-
"@niscorp/vex": "0.1.0",
|
|
33
|
-
"@niscorp/signal": "0.1.0"
|
|
33
|
+
"@niscorp/tide": "0.1.2"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"zod": "^4.2.0"
|