{"id":14062790,"url":"https://github.com/cullenjett/quickbase-cli","last_synced_at":"2025-07-29T14:31:26.942Z","repository":{"id":51196810,"uuid":"67803743","full_name":"cullenjett/quickbase-cli","owner":"cullenjett","description":"Simple command-line tool for uploading local files to a QuickBase application","archived":false,"fork":false,"pushed_at":"2021-06-08T18:30:10.000Z","size":87,"stargazers_count":7,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-29T11:52:32.271Z","etag":null,"topics":["cli","quickbase"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cullenjett.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-09T14:02:22.000Z","updated_at":"2024-07-30T01:07:40.000Z","dependencies_parsed_at":"2022-09-22T23:12:18.816Z","dependency_job_id":null,"html_url":"https://github.com/cullenjett/quickbase-cli","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/cullenjett/quickbase-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cullenjett%2Fquickbase-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cullenjett%2Fquickbase-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cullenjett%2Fquickbase-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cullenjett%2Fquickbase-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cullenjett","download_url":"https://codeload.github.com/cullenjett/quickbase-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cullenjett%2Fquickbase-cli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265345444,"owners_count":23750607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","quickbase"],"created_at":"2024-08-13T07:02:28.777Z","updated_at":"2025-07-29T14:31:26.606Z","avatar_url":"https://github.com/cullenjett.png","language":"JavaScript","readme":"# QuickBase CLI\n[![npm version](https://badge.fury.io/js/quickbase-cli.svg)](https://badge.fury.io/js/quickbase-cli)\n\nWriting custom code inside QuickBase sucks. Copy/pasting from your editor sucks. This simple command line tool lets you easily upload your local code files to a QuickBase application so you don't have to do either of those.\n\n## Installation\nRequirements: [Node.js](https://nodejs.org/en/) \u003e= 8\n\n```bash\nnpm install -g quickbase-cli\n```\n\n## Usage\nquickbase-cli can be used for basic QuickBase code page development. It's probably possible to use quickbase-cli with modern SPA cli tools (angular cli, create-react-app, vue cli, etc.), but I haven't actually tried it so let me know how it goes.\n\nThere are three commands available for quickbase-cli:\n- qb init\n- qb deploy\n- qb new\n\n### qb init\n```bash\nqb init\n```\n**This is required in order to use the `qb deploy` command.**\n\nInitialize an existing app with quickbase-cli functionality. Respond to the prompts to create a config file called  `quickbase-cli.config.js` which is used by other quickbase-cli commands. Run `qb init` from the root of your application, as the config file will be placed wherever the command is run.\n\nBelow are the prompts (see the [Notes](#notes) below for an important advisory re: entering your QuickBase password when prompted):\n\n```javascript\n{\n  name: 'username',\n  message: 'QuickBase username:'\n},\n{\n  name: 'password',\n  message: 'QuickBase password (Leave blank to use the QUICKBASE_CLI_PASSWORD env variable):'\n},\n{\n  name: 'dbid',\n  message: 'Main DBID for the QuickBase application:'\n},\n{\n  name: 'realm',\n  message: 'QuickBase realm:'\n},\n{\n  name: 'appToken',\n  message: 'QuickBase application token (if applicable):'\n},\n{\n  name: 'appName',\n  message: 'Code page prefix (leave blank to disable prefixing uploaded pages):'\n}\n```\n\n### qb deploy\n```bash\nqb deploy [options] \u003cfile path or directory\u003e\n\n# examples\nqb deploy -w app/index.js\nqb deploy -x dist/\nqb deploy -wx build/bundle.js\n```\n\nThis will upload the file(s) at `\u003cfile path or directory\u003e` to the QuickBase application configured in `quickbase-cli.config.js`. In addition, the value for `appName` in `quickbase-ci.config.js` will be prepended to all uploaded files (ex: if  `appName='demo'` then 'demo-bundle.js', 'demo-index.html', and 'demo-bundle.css' might be example output file names). If you don't want to prepend anything to your uploaded files leave this field empty.\n\n**If no `\u003cfile path or directory\u003e` is given then the current directory will be deployed.**\n\n**THAT WAS AN IMPORTANT FACT, PAY ATTENTION WHEN RUNNING `qb deploy` -- DON'T UPLOAD YOUR NODE_MODULES DIRECTORY TO QUICKBASE...**\n\nThere are two optional flags that can be passed to `qb deploy`. You can use them individually or multiple at a time:\n- `-w` (or `--watch`): watch for changes to `\u003cfile path or directory\u003e` and deploy to QuickBase on change. After the initial deploy only the file that changes will be uploaded to QuickBase unless the `-x` flag is also passed, in which case the entire `\u003cfile path or directory\u003e` source will be uploaded.\n- `-x` (or `--replace`): If you pass a directory to `qb deploy` then all files will run through a regex to replace asset file includes (i.e. `\u003cscript src=\"bundle.js\"\u003e\u003c/script\u003e`, `\u003clink href=\"bundle.css\"/\u003e`, etc.) with their new QuickBase urls (`\u003cscript src=\"realm.quickbase.com/db/dbayemay?a=dbpage\u0026pageID=123\"\u003e\u003c/script\u003e`). This is in no way an optimized command, so I'd avoid running it on YUGE directories.\n\n### qb new (mostly useless)\n```bash\nqb new \u003cgithub-repo\u003e \u003cproject-name\u003e\n\n# example\nqb new cullenjett/quickbase-template myAwesomeProject\n```\n\nThis command will start a new application by cloning a Github repo from `\u003cgithub-repo\u003e` (formatted as \"github username/repo name\") and generate the project at `./\u003cproject-name\u003e`. **Both `\u003cgithub-repo\u003e` and `\u003cproject-name\u003e` are required.**\n\nFor now this is only a wrapper around `git clone`. After you pull down a repo you will need to run `qb init` if the app doesn't have a `quickbase-cli.config.js` file in it already. The end goal is to have starter-template repos available for quick and easy kick off.\n\n\n## Notes\n\n* Instead of exposing your password for the `quickbase-cli.config.js` file you can rely on an environment variable called `QUICKBASE_CLI_PASSWORD`. If you have that variable defined and leave the `password` empty when prompted the `qb deploy` command will use it instead. Always practice safe passwords.\n\n* ~~Moves are being made to add cool shit like a build process, global defaults, awesome starter templates, and pulling down existing code files from QuickBase. They're not out yet, so for now you're on your own.~~\n\n* I no longer work with QuickBase applications, so the cool shit I had planned won't happen unless someone submits some dope pull requests.\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcullenjett%2Fquickbase-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcullenjett%2Fquickbase-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcullenjett%2Fquickbase-cli/lists"}