Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .changeset/published-readme-relative-target-existence.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
---
"@objectstack/runtime": patch
"@objectstack/hono": patch
"@objectstack/plugin-security": patch
"@objectstack/service-package": patch
---

docs: repair the dead repo-relative targets in four published READMEs (#10813)

A published README ships inside the npm tarball, so a dead relative link in one
is shipped to every reader who installs the package. Nine of them were measured
across four packages, and nothing read them: `check:published-readme-links`
checked docs-site URLs, `check:published-readme-exports` checked fenced import
lines, and the lychee lane never sees `packages/**/README.md`.

`@objectstack/runtime` carried six dead targets. Each was traced to where the
content actually went rather than deleted:

- `MINI_KERNEL_GUIDE.md`, `MINI_KERNEL_ARCHITECTURE.md` and
`MINI_KERNEL_IMPLEMENTATION.md` were deleted from the repo root in January as
"redundant markdown files" (d709ecce68 — 14 files, 5051 deletions, nothing
added). The kernel reference they described is the docs site now, so the
Documentation section is the same footer eight sibling READMEs already use.
- `examples/host/` was renamed to `examples/app-host`, then `apps/server`, then
`apps/objectos`, and finally split out to `objectstack-ai/cloud`. In-repo, an
HTTP server in front of the runtime is `@objectstack/plugin-hono-server` plus
the `@objectstack/hono` adapter, so the bullet points there.
- `examples/msw-react-crud/` became `examples/app-react-crud`, then
`apps/console`, and now ships as `@object-ui/console` from another repo.
- `test-mini-kernel.ts` was a root-level scratch script; this package's suite is
179 test files under `src/`.
- The section also ended on a truncated bullet with an unterminated backtick
(`` - `packages/runtime/src/ ``), which is now a real pointer to that suite.

The other three packages: `@objectstack/hono` and `@objectstack/service-package`
still spelled `@objectstack/driver-sql` as `../../plugins/driver-sql`, stale
since the driver moved to `packages/drivers/` (#5618). `@objectstack/plugin-security`
and `@objectstack/service-package` linked three packages that are in no directory
of this repo (`plugin-org-scoping`, `service-tenant`, `service-marketplace`);
those links are dropped and the names kept as code spans, which is the spelling
those same files already use for a package they cannot point at in-tree. Whether
those three packages exist at all is a separate question, filed separately.
2 changes: 1 addition & 1 deletion packages/adapters/hono/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,7 +66,7 @@ app.use('/api/*', objectStackMiddleware(kernel));
## Edge runtime notes

- Hono adapter is the **preferred** adapter for Cloudflare Workers, Deno Deploy, Bun, and Vercel Edge.
- Drivers differ by runtime: use [`@objectstack/driver-sql`](../../plugins/driver-sql) on Node. (Edge/multi-tenant turso driver ships in ObjectStack Cloud.)
- Drivers differ by runtime: use [`@objectstack/driver-sql`](../../drivers/driver-sql) on Node. (Edge/multi-tenant turso driver ships in ObjectStack Cloud.)
- Persist no long-lived state in module scope beyond the `kernel` instance.

## When to use
Expand Down
4 changes: 2 additions & 2 deletions packages/plugins/plugin-security/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ await kernel.bootstrap();

`SecurityPlugin` is single-tenant by default. It enforces RBAC, owner-based RLS, and Field-Level Security regardless of mode.

For **multi-tenant** (logical row-level Organization scoping) install [`@objectstack/plugin-org-scoping`](../plugin-org-scoping/README.md) *before* SecurityPlugin:
For **multi-tenant** (logical row-level Organization scoping) install `@objectstack/plugin-org-scoping` *before* SecurityPlugin:

```typescript
import { OrgScopingPlugin } from '@objectstack/plugin-org-scoping';
Expand DownExpand Up@@ -92,7 +92,7 @@ Compilation output is a filter AST merged into every query's `where` clause, so
## When to use

- ✅ Any multi-user deployment.
- ✅ Enforcing tenant isolation (combine with [`@objectstack/service-tenant`](../../services/service-tenant)).
- ✅ Enforcing tenant isolation (combine with `@objectstack/service-tenant`).

## When not to use

Expand Down
24 changes: 16 additions & 8 deletions packages/runtime/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -256,11 +256,18 @@ interface PluginContext {

## Examples

See the `examples/` directory for complete examples:
- `examples/host/` - Full server setup with Hono
- `examples/msw-react-crud/` - Browser-based setup with MSW
- `test-mini-kernel.ts` - Comprehensive kernel test suite
- `packages/runtime/src/
Complete, CI-exercised examples live in the repo's [`examples/`](../../examples)
catalog. The three that build on this package:

- [`app-todo`](../../examples/app-todo) — the smallest complete app; the fastest read of the `AppPlugin` conventions.
- [`app-crm`](../../examples/app-crm) — relational modeling driven through the metadata loading pipeline.
- [`app-showcase`](../../examples/app-showcase) — the kitchen-sink conformance fixture.

To put an HTTP server in front of one, see [`@objectstack/plugin-hono-server`](../plugins/plugin-hono-server)
(boots the kernel behind Hono) and [`@objectstack/hono`](../adapters/hono) (the adapter itself).

This package's own behaviour is pinned by the test suite under [`src/`](./src) —
`pnpm --filter @objectstack/runtime test`.

## Benefits of MiniKernel

Expand DownExpand Up@@ -640,9 +647,10 @@ Defaults are noop — zero overhead until you plug an adapter.

## Documentation

- [MiniKernel Guide](../../MINI_KERNEL_GUIDE.md) - Complete API documentation and patterns
- [MiniKernel Architecture](../../MINI_KERNEL_ARCHITECTURE.md) - Architecture diagrams and flows
- [MiniKernel Implementation](../../MINI_KERNEL_IMPLEMENTATION.md) - Implementation details
- 📖 Docs: <https://objectstack.ai/docs>
- 📚 API Reference: <https://objectstack.ai/docs/references/kernel>
- 🛡️ Hardening: [`docs/HARDENING.md`](../../docs/HARDENING.md)
- 📈 Observability: [`docs/OBSERVABILITY.md`](../../docs/OBSERVABILITY.md)

## License

Expand Down
6 changes: 3 additions & 3 deletions packages/services/service-package/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -94,7 +94,7 @@ CREATE INDEX IF NOT EXISTS idx_packages_latest

## Requirements

- A driver plugin that registers an `IDataEngine` under the service name `'objectql'` with `execute()` support — typically [`@objectstack/driver-sql`](../../plugins/driver-sql). `@objectstack/driver-memory` can be used for tests but does not persist across restarts. (ObjectStack Cloud additionally ships `@objectstack/driver-turso` for edge/multi-tenant.)
- A driver plugin that registers an `IDataEngine` under the service name `'objectql'` with `execute()` support — typically [`@objectstack/driver-sql`](../../drivers/driver-sql). `@objectstack/driver-memory` can be used for tests but does not persist across restarts. (ObjectStack Cloud additionally ships `@objectstack/driver-turso` for edge/multi-tenant.)

## When to use

Expand All@@ -105,13 +105,13 @@ CREATE INDEX IF NOT EXISTS idx_packages_latest
## When not to use

- ❌ Not a package manager for npm/TypeScript source packages — use npm.
- ❌ Not a runtime plugin loader — pair with [`@objectstack/service-marketplace`](../service-marketplace) or a custom loader for that.
- ❌ Not a runtime plugin loader — pair with `@objectstack/service-marketplace` or a custom loader for that.

## Related Packages

- [`@objectstack/core`](../../core) — kernel hosting this plugin.
- [`@objectstack/spec`](../../spec) — provides `ObjectStackManifest` and `IDataEngine` contracts.
- [`@objectstack/driver-sql`](../../plugins/driver-sql) — supplies the `'objectql'` service. (ObjectStack Cloud also ships `@objectstack/driver-turso`.)
- [`@objectstack/driver-sql`](../../drivers/driver-sql) — supplies the `'objectql'` service. (ObjectStack Cloud also ships `@objectstack/driver-turso`.)

## Links

Expand Down
Loading
Loading