@forge/cli
14.1.0-next.1-experimental-13c2f8d14.1.0-next.21-experimental-554d417
docs/local-storage.md−
docs/local-storage.mdDeleted−82
Index: package/docs/local-storage.md
===================================================================
--- package/docs/local-storage.md
+++ package/docs/local-storage.md
@@ -1,82 +0,0 @@
-# Local storage reference
-
-For requirements, manifest configuration, and commands, see [Local storage in the Forge CLI README](../README.md#local-storage).
-
-## KVS, Custom Entity, and Secret seeding
-
-The KVS seed file is strict JSON:
-
-```json
-{
- "kvs": [
- { "key": "user:1", "value": { "name": "Ada", "active": true } }
- ],
- "customEntities": [
- {
- "entityName": "employee",
- "key": "employee:1",
- "value": { "name": "Ada", "department": "Engineering" }
- }
- ],
- "secrets": [
- { "key": "example-api-key", "value": "local-development-value" }
- ]
-}
-```
-
-The CLI validates the object shape, key/value limits, duplicate storage locations, entity names,
-and entity attribute types before starting or mutating storage. The emulator validates the complete
-request before applying it transactionally. Secret values are plaintext local-development data but
-remain on the separate, non-queryable Secret Store surface. Do not commit seed files containing
-secrets.
-
-## SQL seeding
-
-SQL seed files contain ordinary MySQL/TiDB statements separated by semicolons:
-
-```sql
-CREATE TABLE people (id INT PRIMARY KEY, name VARCHAR(64));
-INSERT INTO people (id, name) VALUES (1, 'Ada');
-UPDATE people SET name = 'Ada Lovelace' WHERE id = 1;
-```
-
-Statements execute in file order in one emulator transaction. Quoted semicolons and SQL comments
-are supported. A failure reports the failing statement number, text, and SQL error. DML-only seed
-batches roll back on failure. TiDB implicitly commits DDL, so a seed that mixes DDL with later
-statements can leave the schema and intervening writes applied when a later statement fails; use
-idempotent DDL or reset SQL after such a failure. Stored procedures that depend on client-side
-`DELIMITER` directives are not supported by the core parser.
-
-When both seed flags are present, files are fully parsed before either offering is changed. KVS and
-SQL then run independently and produce separate results; if only one succeeds, the overall command
-fails after showing that partial completion. Running `forge storage local seed` without flags prints
-the supported formats and does not change data.
-
-## Reset semantics
-
-- `reset --kvs` clears KVS, Custom Entity, and Secret Store data for the current app only. SQL is
- preserved.
-- `reset --sql` drops and recreates the current app's empty SQL namespace. KVS-backed data is
- preserved.
-- bare `reset` clears every offering configured by the current manifest.
-
-There are deliberately no `--all`, `--yes`, or `--allow-write` reset options.
-
-## Tunnel routing and shutdown
-
-`forge tunnel --local-storage` starts the storage capabilities configured in your manifest and routes
-`@forge/kvs` and `@forge/sql` calls to local storage. Your app code does not change.
-
-When the tunnel exits or fails to start, its local-storage containers stop, including containers
-that were already running before the tunnel started. Data is preserved for the next start.
-Without `--local-storage`, the tunnel continues to use hosted storage.
-
-## Troubleshooting and limitations
-
-- Start Docker before running a local-storage command.
-- Free ports `18090` (KVS) and `18091` (SQL) if startup reports a port conflict.
-- Use `forge storage local status` to check which capabilities are configured, running, and healthy.
-- If an image download fails, check your connection to the registry shown in the error and try again.
-- Local storage is intended for development. Test against hosted Forge services before deploying.
-- Interactive inspection, REPL, and ad hoc query commands are not currently available. Use your app's
- normal `@forge/kvs` and `@forge/sql` calls to read or update local data.