You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The VS Code / Cursor extension (deepnote/vscode-deepnote) and coding agents are going to drive deepnote sync and deepnote publish. Today they can't do that reliably. This issue collects the CLI changes they need.
A divergence ("Deepnote changed these files since the last sync") gets its own error code or exit code, so callers can offer "sync first" or "force".
Look up DEEPNOTE_TOKEN in .env the same way for every command that needs a token: the command's folder first, then parent folders up to the sync root. The missing-token error should tell the user to add DEEPNOTE_TOKEN to .env.
Make --project-id optional for publish and streamlit publish. When the folder is inside a synced project, take the id from .deepnote-sync.json or from the .deepnote file's project id.
Add deepnote projects list -o json, returning id, name, folder path and URL.
Add deepnote app init <dir> --template static|ts|streamlit, which creates a starter app. The TS template builds to a folder that publish can upload. The extension and agents will share these templates.
Update skills/deepnote/references/{cli-publish,cli-sync,apps}.md and docs/, as AGENTS.md requires.
Done when
An agent with no TTY and only a .env file can do all of this without running --help or parsing text:
Create an app.
Sync one project.
Publish the app.
Get the URL back as JSON.
Unblocks the vscode-deepnote work on agent setup and on sync and publish buttons.
The VS Code / Cursor extension (deepnote/vscode-deepnote) and coding agents are going to drive
deepnote syncanddeepnote publish. Today they can't do that reliably. This issue collects the CLI changes they need.Current state
@deepnote/cli@0.8.0on npm has nopublishorstatic-site access; they exist only onmain.deepnote streamlit publishis still in feat(cli): add deepnote streamlit publish #466.publishandstatic-site accessoutput only human-readable text.-qhides the URL (packages/cli/src/commands/publish.ts:327-347).publishneeds--project-id. No command lists projects or returns their ids.syncalways covers every project in the workspace. There is no per-project filter.sync,runandscheduleread.env, each from its own folder.publish,static-site accessandstreamlit publishdon't read it.publishuploads.Tasks
@deepnote/cli,@deepnote/cloudand@deepnote/mcpwithpublish,static-site accessandstreamlit publish, once feat(cli): add deepnote streamlit publish #466 merges.-o jsontopublish,static-site accessandstreamlit publish:{url, projectId, apiAccess, filesUploaded, pruned}{appId, url, status}DEEPNOTE_TOKENin.envthe same way for every command that needs a token: the command's folder first, then parent folders up to the sync root. The missing-token error should tell the user to addDEEPNOTE_TOKENto.env.--project-idoptional forpublishandstreamlit publish. When the folder is inside a synced project, take the id from.deepnote-sync.jsonor from the.deepnotefile's project id.deepnote projects list -o json, returning id, name, folder path and URL.deepnote sync --project <id|path>to sync a single project. This is separate from the speed-up in feat(cli,cloud): sync projects concurrently and retry rate-limited requests #535.deepnote app init <dir> --template static|ts|streamlit, which creates a starter app. The TS template builds to a folder thatpublishcan upload. The extension and agents will share these templates.skills/deepnote/references/{cli-publish,cli-sync,apps}.mdanddocs/, as AGENTS.md requires.Done when
An agent with no TTY and only a
.envfile can do all of this without running--helpor parsing text:Unblocks the vscode-deepnote work on agent setup and on sync and publish buttons.
🤖 Generated with Claude Code