@farthershore/product 0.2.0 → 0.2.1

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 CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  Product-as-Code SDK for Farther Shore. Builder repos use this package from
4
4
  `product/product.config.ts` to declare product contracts in TypeScript. Builders
5
- author and export a `Business`; the Farther Shore GitHub bot compiles that
6
- program to backend-owned IR, validates it, and publishes through Core when repo
7
- changes land.
5
+ author and export a `Business`; Farther Shore compiles that program to
6
+ backend-owned IR, validates it, and applies it through Core. Every product is
7
+ created with a GitHub repo that contains the editable `frontend/` starter and
8
+ the Product SDK entrypoint; connecting GitHub is a product-creation
9
+ precondition.
8
10
 
9
11
  ## Install
10
12
 
@@ -31,10 +33,11 @@ frontend/
31
33
  ...
32
34
  ```
33
35
 
34
- `product/` is authored Product SDK code. `frontend/` is the generated editable
35
- frontend app and is built by the frontend pipeline only. Runtime state and
36
- compiled IR are not checked into the builder repo; Farther Shore stores them in
37
- Core.
36
+ `product/` is authored Product SDK code and may be split into any imported files
37
+ the builder wants. `frontend/` is the generated editable starter app and is built
38
+ by the frontend pipeline only. Runtime state, accepted specs, compilation
39
+ records, deployment runs, and compiled IR are not checked into the builder repo;
40
+ Farther Shore stores them in Core.
38
41
 
39
42
  ## Example
40
43
 
@@ -80,10 +83,10 @@ export const configurePlans: ProductModule = (product) => {
80
83
  };
81
84
  ```
82
85
 
83
- ## Bot build
86
+ ## Lifecycle apply paths
84
87
 
85
- Normal product repos do not call platform release or IR APIs. The GitHub bot
86
- owns that workflow:
88
+ Generated product repos use GitHub as the required automation and frontend
89
+ workspace:
87
90
 
88
91
  1. Loads `product/product.config.ts`.
89
92
  2. Requires the default export to be the `Business` returned by
@@ -93,9 +96,15 @@ owns that workflow:
93
96
  4. Validates the result against the deployed platform contract.
94
97
  5. Publishes the accepted release through Core so edge artifacts propagate.
95
98
 
96
- The bundled `farthershore-manifest-build` binary is bot/build-runner plumbing.
97
- Run it locally only when debugging the automation itself; it is not part of the
98
- normal builder workflow.
99
+ The same IR can also be applied to an already repo-backed product through
100
+ trusted Core APIs, for example `farthershore build --apply <product>`. That path
101
+ is useful for local validation/apply loops, but it is not a replacement for the
102
+ product repo. The repo remains the required frontend customization workspace
103
+ because `frontend/` is where the starter UI and all custom React code live.
104
+
105
+ The bundled `farthershore-manifest-build` binary is shared by the bot,
106
+ build-runner, and CLI. It emits the deterministic Manifest IR envelope that Core
107
+ accepts; Core, not the user repo, remains the lifecycle authority.
99
108
 
100
109
  ## Public API
101
110
 
package/dist/bin.js CHANGED
@@ -2360,7 +2360,7 @@ function hashIr(ir) {
2360
2360
  }
2361
2361
 
2362
2362
  // src/version.ts
2363
- var SDK_VERSION = true ? "0.2.0" : "0.0.0-dev";
2363
+ var SDK_VERSION = true ? "0.2.1" : "0.0.0-dev";
2364
2364
 
2365
2365
  // src/business.ts
2366
2366
  var BUSINESS_BRAND = Symbol.for("farthershore.product.business");
package/dist/index.js CHANGED
@@ -2355,7 +2355,7 @@ function canonicalIrJson(ir) {
2355
2355
  }
2356
2356
 
2357
2357
  // src/version.ts
2358
- var SDK_VERSION = true ? "0.2.0" : "0.0.0-dev";
2358
+ var SDK_VERSION = true ? "0.2.1" : "0.0.0-dev";
2359
2359
 
2360
2360
  // src/business.ts
2361
2361
  var BUSINESS_BRAND = Symbol.for("farthershore.product.business");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farthershore/product",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Farther Shore product-as-code SDK — declare your business in TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",