ToolsCommandsThe jadpo command
jadpo dev
On this page
Run the app and reload on every save.
Run the application in the interpreter and serve its routes on a local port (3000 unless --port says otherwise). Each save is checked again, and once it checks cleanly the new version serves the next request; while a save has errors, the last good version keeps serving. Each request is one line, with its request id. The database is the one --url names, or else a disposable PostgreSQL started for the session; pending migrations are applied as they appear. With --no-run it only checks on every save and writes build/. An app that signs in with external_token gets a local issuer in place of the configured one, and jadpo dev token <user-id>, beside a running session, prints a bearer token from it for that user.
jadpo dev [action] [user-id]Arguments
action(optional): token, to print a bearer token for a user, or nothing to serveuser-id(optional): The user's id, for token
Flags
--port <port>: Listen on this port; 0 picks a free one--url <url>: Use this database, not a disposable one--no-run: Only check on every save; serve nothing--fake <connection>: Fake this connection for this session--sandbox <operation>: Let this operation through to its sandbox
On every command
--json: Print data for tools instead of text--full: Show everything a report shortens--help: Show every flag, with examples--color <when>: Choose when to use colour
jadpo dev --json writes one JSON document to standard output instead of text, with the same exit code. The document has schemaVersion, command ("dev"), ok, data (what the command produced, null when it failed) and diagnostics (each error with its rule, reason, next and help). A command that needs a terminal refuses --json and names the flags that do the same job.
Examples
# Serve the project you are in on http://localhost:3000jadpo dev# Serve it on another port, with your own databasejadpo dev --port 8080 --url postgresql://localhost/app_dev# Print each request as a line of data for toolsjadpo dev --json# Call the running app as a user, with a token from its local issuercurl -H "Authorization: Bearer $(jadpo dev token <user-id>)" localhost:3000/me
Errors
cli.dev_arguments: Ajadpo devcommand names an action it doesn't have,tokenwithout a user's id, or a--urlthe project's several stores can't sharecli.dev_port_invalid: Ajadpo dev --portflag holds something other than a whole number from 0 to 65535cli.dev_start_failed: The app couldn't start underjadpo dev, usually because another program is using its port, it has no database to run on, or a connection would call a provider's live APImigration.apply_failed: Applying the project's migrations to a database stopped at a step that failedmigration.drop_not_accepted: A migration removes data, and no acceptance in the project says a person agreed to itmigration.extension_missing: The project's migrations need a PostgreSQL extension, such as pgvector, that the database server doesn't offer or that the role applying them can't createmigration.extension_outdated: The database server's PostgreSQL extension, such as pgvector, is older than the project's migrations and queries needmigration.store_diverged: The migrations a database has applied don't match the project's: one has changed since it ran, the project doesn't have one, or one comes out of ordertoolchain.project_not_found: You ran a command that works on a project in a folder with noapp.jadpo, in it or in any folder above it
Markdown for agents: /docs/jadpo-dev.md.Built from Jadpo main at aee2e8f.