@outbuild-company/schedule-core 1.0.0

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,59 @@
1
+ # @outbuild/schedule-core
2
+
3
+ UI-agnostic schedule engine. Owns activities, links, calendars, autoscheduler and critical path. Designed to back DHTMLX (or any other UI) without leaking visual concerns.
4
+
5
+ **Status**: alpha — consumed in production by Outbuild's `react_client` behind the `SCHEDULE_CORE` feature flag, via the public entry (`core.dispatch(...)` and friends). The API surface is `src/index.ts` and nothing else.
6
+
7
+ Extracted from the `pp2_node` monorepo (`packages/schedule-core`) on 2026-06-05 as a clean snapshot (no history carried over).
8
+
9
+ ## Consuming from react_client (yarn link)
10
+
11
+ The app consumes this repo's `src/` directly — no build step in the dev loop. Vite transpiles the TypeScript on the fly and watches the linked sources (cross-repo HMR works).
12
+
13
+ ```bash
14
+ # once per machine
15
+ cd ~/Developer/schedule-core && yarn link
16
+ cd <pp2_node>/react_client && yarn link "@outbuild/schedule-core"
17
+ ```
18
+
19
+ The link is wiped by `yarn install --force` or deleting `node_modules` — `react_client`'s pre-dev/start/build guard (`scripts/check-schedule-core-link.mjs`) fails fast with these instructions when that happens.
20
+
21
+ ### Coordinated changes (core + bridge)
22
+
23
+ A change that touches both this repo and the react_client bridge is two commits:
24
+
25
+ 1. Commit (and push) here first.
26
+ 2. Commit the bridge side in `pp2_node` referencing the core commit.
27
+
28
+ Locally nothing else is needed — the link always reflects your working tree.
29
+
30
+ ## Build
31
+
32
+ ```
33
+ npm run build
34
+ ```
35
+
36
+ Outputs:
37
+ - `dist/index.js` — ESM
38
+ - `dist/index.cjs` — CJS
39
+ - `dist/index.d.ts` / `dist/index.d.cts` — types
40
+ - `dist/cdn/schedule-core.global.js` — IIFE for `<script>` tag (global `ScheduleCore`)
41
+
42
+ `dist/` is the future published contract (registry or git dependency, pending when the `SCHEDULE_CORE` flag nears 100%); today no consumer reads it.
43
+
44
+ Known debt: the DTS build (and `npm run typecheck`) is red from the in-flight `ActivitySnapshot` snake_case→camelCase refactor. ESM/CJS/IIFE build green.
45
+
46
+ ## Test
47
+
48
+ ```
49
+ npm run test
50
+ ```
51
+
52
+ Self-contained vitest suite (fixtures live under `src/testing/projects/`). 6 known failing parity/date-math tests at import time, pre-existing from the monorepo branch.
53
+
54
+ ## Docs
55
+
56
+ - `API.md` — public API reference: every export of `src/index.ts` with signatures and usage examples.
57
+ - `CLAUDE.md` — agent guide: identity, invariants, engineering rules.
58
+ - `CURSOR.md` — operational guide: where each doc goes, `core.dispatch` flow, timestamp convention.
59
+ - `SMELLS.md` / `TODO.md` — living logs (see CURSOR.md for their contracts).