How to ...
- Run your code
- Create a new project
- Create a project in a directory that already has files
- Get a project from the server onto your computer for the first time
- Connect a folder to an existing Domino project on the server
- Synchronize the files on your computer with the server
- Download the latest copy of your files
- Upload your files without starting a run
- Get more help
- Get the version of your CLI
Installing the CLI
To run your code
run [--direct][--wait][--no-sync][--tier][--local] <file> [args...]
"run" will copy all files in your project folder to the cloud, where it will execute the specified file with any arguments you have specified, unless you have specified the --local flag.
--wait flag will run your script synchronously, i.e., the command won't return until your job finishes.
--direct flag lets you run a shell command directly on the Domino machines.
--no-sync flag will run the latest version of code on the server, without uploading any local changes on your computer.
--tier flag lets you select a specific hardware tier to execute the specified file on.
--local flag lets you run your script on your local machine.
domino run calculateStats.R
domino run runModel.m model1 .05
domino run --wait runModel.m model1 .05
domino run --direct "pip freeze | grep pandas"
domino run --tier "Large" calculateStats.R
domino run --local "python main.py"
To create a new project
"create" will create a new project by making a new folder on your computer and telling the Domino server about your new project. Optionally, you can specify the name of the project. If you don't specify a name, Domino will ask you for one. To create a project on behalf of an organization you belong to, use the --owner flag.
domino createdomino create myProject
domino create --owner myOrg myProject
To create a project in a directory that already has files
"init" will create a new Domino project inside your current folder. This is useful if you already have a working folder and you'd like to convert it to a Domino project. While the "create" command creates a new folder inside your current directory, "init" will initialize a project from your current folder. The --owner flag can be used to set an organization you belong to as the project owner.
Note: "init" will not upload any of your files, you'll need to use "upload" or "run" after you run "init".
domino initdomino init myProject
domino init --owner myOrg myProject
To get a project from the server onto your computer for the first time
"get" will find an existing project on the server and copy it down to your computer. This is useful to get a project you created on a different computer, or to get a project that someone else created, and you are collaborating on.
If you are getting someone else's project, specify their username and the project name. If you are getting one of your own projects, you can omit the username.
domino get otherUser/someProject
domino get myProject
To connect a folder to an existing project
"restore" will "connect" your current directory to an existing Domino project on the server. Restore will look for evidence of a project name inside ".domino/config.json". If it doesn't find such a file, it will prompt you for the name of an existing project to use.
This is particularly useful if you using Domino and git to track the same folder. If you clone a project with git, git will likely have ignored the hidden files that identify it has a Domino project. So you can "git clone" and then "domino restore" to re-connect the folder to its Domino project.
To synchronize the files on your computer with the server
"sync" will synchronize the project folder on your computer with the project stored on the server. This is equivalent to running a download followed by an upload.
To download the latest version of your files
"download" will download the latest copy of your files from the cloud into your current project folder. If you have made changes that conflict with changes in the cloud, you will see both versions of the conflicting file side-by-side.
Note that there are two reasons files in the cloud might change: first, your collaborators on a project might make changes; second, you might have executed a run that produced new output files.
To upload your files without starting a run
upload [-m "message"]
"upload" will upload your current project folder contents to the cloud, but will not begin a new run. The optional message flag lets you record a message, which will be displayed when browsing past commits on the "Files" tab of your project.
domino upload -m "this is a great message"
To get help
"help" will print out a list of commands you can run, with information about each one, similar to this page.
domino help run
To get the version of your CLI
"version" will output your CLI version