MCPcopy Index your code
hub / github.com/dolthub/dolt-workbench

github.com/dolthub/dolt-workbench @v0.3.73

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.73 ↗ · + Follow
2,278 symbols 6,811 edges 779 files 1 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Developer Guide

Releasing dolt-workbench (manual)

NOTE: This method of releasing the workbench has now been automated. See "Releasing dolt-workbench (automated)" below.

1. Use the Release dolt-workbench GitHub Action

See here. The version used should match the version in web/package.json (which can be updated before or after running this action).

This creates the release and starts two other Actions: generating the release notes and pushing the Docker image to Docker Hub.

2. Build and release the desktop app

First, build the graphql-server.

# in `graphql-server`
yarn
yarn build

Then install dependencies in web and download Dolt.

# in web
yarn
yarn download:dolt

If this is your first time releasing dolt-workbench, see more in-depth instructions for set up in this README and this blog.

Mac

  1. Increment buildVersion in build/mac/builder-mas-config.yaml and build/mac/builder-dmg-config.yaml.

  2. Build for Mac Store

# in web
yarn build:mas
  1. Upload dist/DoltWorkbench-mac-universal.pkg to the Transporter app and click Deliver

  2. Go to appstoreconnect.apple.com and click on Apps > Dolt Workbench. Go to the TestFlight tab and assign the workbench-test test group to the new version (it may take a bit for it to be delivered by the Transporter app)

  3. Make sure the new version works using the TestFlight app

  4. Add a new version using the + sign in the left panel. Add a version that matches the package.json version. Fill out what's new in this version and choose the build you just tested. Click Submit for Review.

  5. Build for outside Mac Store (to attach to the GitHub release)

# in web
yarn build:dmg
  1. Sign the DMG package
# in web
yarn sign-dmg
  1. Attach the generated package in dist to the GitHub release that was generated in the first step

Windows

Note that you must use a Windows machine for this.

  1. Increment the buildVersion in web/build/builder-win-config.yaml

  2. Build the Windows package

# in web
yarn build:win
  1. Log into Microsoft Partner Center. To submit, choose DoltHub.Inc -> Apps and Games -> Dolt-Workbench. Choose Start Update in Product Release.

  2. Upload the AppX file from dist. In Product Update > Store listings click on a language and fill out "What's new in this version". Click Submit for certification.

  3. Upload the Application file file from dist to the GitHub release that was generated in the first step

Linux

  1. Increment the buildVersion in web/build/builder-linux-config.yaml

  2. Build the package for Linux

# in web
yarn build:linux
  1. Upload the dolt-arm64 and dolt-x64 binaries located in web/build/linux to the GitHub release that was generated in the first step

Releasing dolt-workbench (automated)

Use the Release dolt-workbench GitHub Action

The input to this GitHub Action is a version number. You should use the version number that you would like to be associated with this release. The action will automatically create a new commit to update the version in web/package.json to the version number you pass here. It will also create a new GitHub release with the title being the new version number.

This action will kick off a separate workflow for Windows, Linux, Mac App Store, and Mac (.dmg) builds. If the builds were successful, you should see 1. A new commit bumping the buildVersion field by one for each builder config yaml file in web/build. 2. The packages uploaded as assets to the new release that was just created.

Note that you can also run each of the platform-specific actions by themselves. For example, if you run the Release dolt-workbench action and everything succeeds except for the Linux build, you can run the Build dolt-workbench for Linux action by itself (passing as input an existing release version number), and it will just build the Linux package and upload it to the release you specified.

Extension points exported contracts — how you extend this code

ElementClass (Interface)
(no doc) [1 implementers]
web/renderer/react-types.d.ts
Chainable (Interface)
(no doc)
workbench-cypress/cypress/support/global.d.ts
FileUpload (Interface)
(no doc)
graphql-server/src/tables/upload.resolver.ts
Element (Interface)
(no doc)
web/renderer/react-types.d.ts
ElementAttributesProperty (Interface)
(no doc)
web/renderer/react-types.d.ts
ElementChildrenAttribute (Interface)
(no doc)
web/renderer/react-types.d.ts
IntrinsicAttributes (Interface)
(no doc)
web/renderer/react-types.d.ts

Core symbols most depended-on inside this repo

setState
called by 120
web/renderer/components/pageComponents/FileUploadPage/contexts/fileUploadLocalForage/index.tsx
query
called by 88
graphql-server/src/queryFactory/mysql/index.ts
newExpectation
called by 56
workbench-cypress/cypress/e2e/utils/helpers.ts
newClickFlow
called by 55
workbench-cypress/cypress/e2e/utils/helpers.ts
connection
called by 51
graphql-server/src/dataStore/dataStore.service.ts
query
called by 50
web/renderer/lib/urls.ts
Query
called by 41
web/renderer/components/SqlDataTable/index.tsx
notDoltError
called by 40
graphql-server/src/queryFactory/mysql/utils.ts

Shape

Function 1,661
Method 299
Class 274
Enum 34
Interface 10

Languages

TypeScript100%

Modules by API surface

web/renderer/gen/graphql-types.tsx177 symbols
graphql-server/src/queryFactory/mysql/index.ts60 symbols
graphql-server/src/queryFactory/dolt/index.ts53 symbols
graphql-server/src/queryFactory/doltgres/index.ts52 symbols
web/renderer/lib/urls.ts32 symbols
graphql-server/src/utils/commonTypes.ts30 symbols
graphql-server/src/databases/database.resolver.ts30 symbols
graphql-server/src/branches/branch.resolver.ts27 symbols
graphql-server/src/queryFactory/doltgres/queries.ts25 symbols
web/renderer/hooks/useSqlBuilder/util.ts23 symbols
web/renderer/hooks/useSqlBuilder/index.ts23 symbols
web/main/agent/anthropicAgent.ts21 symbols

Datastores touched

(mysql)Database · 1 repos
newdbDatabase · 1 repos

For agents

$ claude mcp add dolt-workbench \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page