Skip to content

Commit ea0327a

Browse files
docs: one scaffold spelling and one dev-port sentence for contributors (#26248)
<!-- claude-projects-attribution: {"github_login":"os-steve"} --> _Requested by **Steve** · [project thread](https://claude.ai/code/project/chan_01FdL1XeUyvVNxLreh3F4Qi9?thread=cmsg_01FdL1XeUyvVNxLreh3F4Qi9PVMSwVKpsD3oGbArkiX5XR)_ Part of #26088 Clause-②: no Metadata-protocol: none ## What this does The non-AGENTS.md half of the card: `README.md`, `CONTRIBUTING.md` and `content/docs/getting-started/**` now say one thing per fact. The AGENTS.md half stays on the card (three open PRs touch that file); #26088 remains open for it. Two files, +8 / -1: - `content/docs/getting-started/index.mdx:169` — `npx create-objectstack my-app` becomes `npm create objectstack@latest my-app`, the spelling README.md:43, your-first-project.mdx:43 and build-with-claude-code.mdx:51 already use. - `CONTRIBUTING.md` — one paragraph after the README pointer stating what `pnpm dev` does with the port, in the same terms as getting-started/index.mdx:207-212, plus how the Console dev server's proxy finds the backend. ## The three facts, and the code line that decided each (origin/main df8aac4) 1. **Dev port and env var.** `packages/cli/src/commands/dev.ts:718` reads `flags.port ?? readEnvWithDeprecation('OS_PORT', 'PORT', { silent: true })`, and `:765` defaults to `'3000'`; `packages/cli/src/commands/serve.ts:2274` sets `portAutoShiftAllowed = flags.dev || ...` and hops to the next free port. So: default 3000, auto-shift in dev, `OS_PORT` canonical, `PORT` the legacy alias. The UI is not hard-wired: `ui/apps/console/vite.config.ts:1486` proxies `/api` to `process.env.DEV_PROXY_TARGET || 'http://localhost:3000'`. getting-started/index.mdx already said this; CONTRIBUTING.md now says it too. 2. **Scaffold command.** `packages/create-objectstack/package.json` names the package `create-objectstack`, which `npm create objectstack` resolves to; docs/NORTH-STAR.md:11 and :15 name `npm create objectstack`. Both spellings run the same package, so the North Star's wins. 3. **Setup command.** Root `package.json:17`: `"setup": "pnpm install && pnpm --filter @objectstack/spec build"` builds the spec only. `pnpm dev` opens with `scripts/check-dev-prereqs.mjs`, whose existence check covers every workspace package with a dist entry point and prescribes `pnpm build` (`:579`). So `pnpm install` then `pnpm build` is the true first-time sequence for running anything, which is what README.md:213-214, CONTRIBUTING.md:56-59 and getting-started/examples.mdx:53-54 already say. No edit needed in this half. ## Card grep, after this PR (README.md, CONTRIBUTING.md, content/docs/getting-started/) - `OS_PORT`: CONTRIBUTING.md:67 (`OS_PORT=3000 pnpm dev`), getting-started/index.mdx:211-212 (`OS_PORT=3001 pnpm dev`) — one spelling, `OS_PORT`, `PORT` named only as the legacy alias. `PORT=3000`: zero hits. - `npm create objectstack`: README.md:43, CONTRIBUTING.md:268, build-with-claude-code.mdx:29/51, your-first-project.mdx:43/77/93, index.mdx:169. `npx create-objectstack`: zero hits. - `pnpm run setup`: zero hits in these three places. ## AGENTS.md lines that still disagree (left for a later round on this card) - `AGENTS.md:40` — `pnpm run setup # first-time: install + build spec`: true about what it runs, but not enough for `pnpm dev` (see fact 3); the first-time line should be `pnpm install && pnpm build`. - `AGENTS.md:138` — `PORT=3000 pnpm dev`, "Port **must** be 3000 (UI hard-wired)", and `PORT=3000 pnpm dev:crm`: should be `OS_PORT=3000`, and the console proxy is overridable through `DEV_PROXY_TARGET` (fact 1). - `AGENTS.md:173` — `PORT=3000 pnpm dev` in the sibling `../objectui` section; that section is the objectui-pin text another open card is rewriting. ## Gates (local, at dcabcaf) `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derived 41 commands; all 41 exit 0. `pnpm --filter @objectstack/spec run check:skill-examples` first exited 3 (PREREQUISITE NOT MET: `packages/client-react/dist` unbuilt), then exit 0 after building `@objectstack/client-react` and its closure. `--ran` reconciliation: 41 derived, 41 run, 0 NOT-MEASURED (a derived zero, every line recorded with its exit code). `pnpm check:doc-authoring` exit 0. The link check (`check-links.yml`, lychee) is CI's: lychee is not installed here. The diff adds no link lychee reads (CONTRIBUTING.md is outside its globs, and the one URL added, `http://localhost:3000`, is in `lychee.toml`'s exclude list). Docs only, nothing published from any package, so `skip-changeset`. ## Acceptance notes - README.md:216 says `pnpm dev` serves on `:3000`; that is the default and stays true, so it is untouched. --- _Generated by [Claude Code](https://claude.ai/code/session_01VekRRVKWXqJbHnFKvo9Bak)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 1d3ad39 commit ea0327a

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

‎CONTRIBUTING.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,13 @@ The README's [Hack on the framework](./README.md#hack-on-the-framework) section
6363
has the commands for building the Console and running an example app with `pnpm dev`;
6464
the next section says what each one costs.
6565

66+
`pnpm dev` listens on port 3000 and automatically shifts to the next free port
67+
when 3000 is busy; pin an explicit port with `OS_PORT=3000 pnpm dev` (`PORT` is
68+
the legacy alias). The Console's own dev server (`ui/apps/console`, Vite on
69+
:5180) proxies `/api` to `DEV_PROXY_TARGET`, default `http://localhost:3000`, so
70+
when the backend has moved off 3000, point `DEV_PROXY_TARGET` at the port it
71+
printed.
72+
6673
## Build and Test Cost
6774

6875
`pnpm console:build` builds the Console from its source in this workspace

‎content/docs/getting-started/index.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ Before you start, make sure you have the following installed:
166166
|:---|:---|:---|
167167
| **Node.js** | 22.0.0+ | `node --version` |
168168

169-
That's everything the standard path needs — `npx create-objectstack my-app`
169+
That's everything the standard path needs — `npm create objectstack@latest my-app`
170170
scaffolds a project with its own TypeScript toolchain and npm scripts.
171171

172172
<Callout type="warn">

0 commit comments

Comments
 (0)