Skip to content

DevGuyRash/carvana-workflows

Repository files navigation

Carvana Automation Userscripts — Foundation

Production-ready skeleton for DRY, SOLID, KISS, YAGNI Tampermonkey automation targeting:

  • Jira - https://jira.carvana.com/*
  • Oracle (Carvana) - https://edsk.fa.us2.oraclecloud.com/*
  • Carma - https://carma.cvnacorp.com/*

Shared TypeScript core:

  • Non‑brittle selectors (css/id/role/tag/type/attributes/text, and/or/not/within/nth, visible)
  • Wait utilities with MutationObserver + polling + stability time
  • Declarative workflows (click/type/wait/extract/branch/error) with persistence/resume
  • Dynamic menu (Shadow DOM): Actions, Automations, Settings (Theme/Storage/Logs) + Developer mode for selectors/JSON

Looking to build your own pages/workflows? See AGENTS.md.


Quick Start

Requirements: Node 18+, npm.

npm i
npm run build

This outputs userscripts in dist/ (one per packages/*-userscript):

  • jira.user.js
  • oracle.user.js
  • carma-bulk-search-scraper.user.js

Install each in Tampermonkey (drag into the browser or paste into a new script).


Development (Auto-Update)

To enable Tampermonkey auto-update during development, run the local userscript server and build with a local US_BASE_URL so @downloadURL / @updateURL point to localhost.

Recommended (one command):

npm run dev

This runs the userscript server and a build watcher in parallel. If you prefer separate terminals:

Terminal 1:

npm run serve:userscripts

Terminal 2:

npm run build:watch

Then install the script from http://localhost:4873/<script>.user.js (e.g. open the root http://localhost:4873/ and click the file). After rebuilds, Tampermonkey will auto-update from the local server.

Optional overrides:

US_HOST=localhost US_PORT=4873 npm run serve:userscripts
US_BASE_URL=http://localhost:4873 npm run build

Release build (GitHub links)

To build userscripts with @downloadURL/@updateURL pointing at the latest GitHub release artifacts (mirrors CI behavior):

npm run build:release

If your git remote is not GitHub, you can set the repository explicitly:

GITHUB_REPOSITORY=owner/repo npm run build:release

First Run / Demo Workflows

The default registry is demo‑only. On a matching site, click the gear:

  • Run Demo: Title → Clipboard to copy the page title and show a preview.
  • Try Demo: Page Info and Demo: List Links to validate extraction & presentation.

Then jump to AGENTS.md to add your own pages and real workflows.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •