New:Socket for Asana Is Now Available.Learn more
Get Started

jobber-cli

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jobber-cli - npm Package Compare versions

Comparing version
0.1.2
to
0.1.3
+16
CONTRIBUTING.md
# Contributing
## Local development
```bash
npm install
npm run lint
npm test
```
## Principles
- Keep the CLI agent-first and JSON-first
- Keep private-surface assumptions explicit
- Prefer safe read paths before adding mutations
- Never commit live auth or raw browser captures
# Security
- Do not paste live Jobber cookies, session identifiers, account URLs with sensitive params, or exported browser artifacts into issues, PRs, or logs.
- Prefer `JOBBER_COOKIE_HEADER`, `jobber auth set-cookie-header --stdin`, or `jobber auth import-agent-browser`.
- Never pass secrets via CLI flags.
- Do not commit raw HAR files, browser traces, cookie dumps, or similar auth-bearing captures.
- Treat all private-surface Jobber responses as potentially sensitive until explicitly sanitized.
interface:
display_name: "Jobber"
short_description: "Inspect Jobber account context and GraphQL operations through the local jobber CLI."
icon_small: "./assets/icon-small.svg"
icon_large: "./assets/icon-large.svg"
brand_color: "#8A6724"
default_prompt: "Use $jobber to inspect Jobber through the local jobber CLI. Start with jobber doctor --json and jobber whoami --json, prefer read-only commands, and keep cookies out of logs."
policy:
allow_implicit_invocation: true
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 256 256" role="img" aria-labelledby="title desc">
<title id="title">Jobber adapter icon</title>
<desc id="desc">Neutral adapter-owned graphite and amber icon for a private-surface CLI adapter.</desc>
<rect x="24" y="24" width="208" height="208" rx="42" fill="#2F333A"/>
<rect x="44" y="54" width="168" height="118" rx="18" fill="none" stroke="#6F7885" stroke-width="10"/>
<path d="M76 91l30 30-30 30" fill="none" stroke="#F2B84B" stroke-width="16" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M122 151h54" fill="none" stroke="#F7F1E3" stroke-width="16" stroke-linecap="round"/>
<circle cx="164" cy="78" r="12" fill="#F7F1E3"/>
<circle cx="190" cy="112" r="12" fill="#F2B84B"/>
<circle cx="155" cy="198" r="12" fill="#F2B84B"/>
<path d="M165 90l20 17" fill="none" stroke="#A0A7B2" stroke-width="8" stroke-linecap="round"/>
<path d="M181 121l-23 65" fill="none" stroke="#A0A7B2" stroke-width="8" stroke-linecap="round"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-labelledby="title desc">
<title id="title">Jobber adapter icon</title>
<desc id="desc">Neutral adapter-owned line icon showing a terminal prompt and routed nodes.</desc>
<rect x="6" y="6" width="52" height="52" rx="14" fill="#2F333A"/>
<path d="M20 24l8 8-8 8" fill="none" stroke="#F2B84B" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M33 41h13" fill="none" stroke="#F7F1E3" stroke-width="5" stroke-linecap="round"/>
<circle cx="43" cy="20" r="4" fill="#F7F1E3"/>
<circle cx="49" cy="31" r="4" fill="#F2B84B"/>
<path d="M42 24l5 5" fill="none" stroke="#A0A7B2" stroke-width="3" stroke-linecap="round"/>
</svg>
+6
-4
{
"name": "jobber-cli",
"version": "0.1.2",
"version": "0.1.3",
"description": "Agent-first private-surface CLI for Jobber",

@@ -23,6 +23,6 @@ "license": "MIT",

"docs",
"SKILL.md",
"skills",
"agents",
"README.md",
"CONTRIBUTING.md",
"SECURITY.md",
"LICENSE"

@@ -43,6 +43,8 @@ ],

"lint:public-surface": "node scripts/public-surface-check.mjs",
"secret-sweep": "bash scripts/secret-sweep.sh",
"check:release": "npm run typecheck && npm test && npm run lint:public-surface && npm run secret-sweep",
"dev": "tsx src/cli.ts",
"generate:inventory": "node scripts/generate-inventory.mjs",
"test": "tsx --test",
"prepublishOnly": "npm run lint && npm run lint:public-surface && npm test",
"prepublishOnly": "npm run check:release",
"prepare": "npm run build"

@@ -49,0 +51,0 @@ },

+9
-1

@@ -76,4 +76,12 @@ # jobber-cli

This repo includes both a root `SKILL.md` and a nested `skills/jobber/SKILL.md` so external installers and repo-based skill flows have an obvious entry point.
Install the canonical nested skill:
```bash
npx -y skills add -g danielgwilson/jobber-cli --skill jobber
```
The skill lives at `skills/jobber/SKILL.md`. The npm package includes that
nested skill and its Codex metadata; it does not publish a duplicate root
`SKILL.md`.
## Main Commands

@@ -80,0 +88,0 @@

@@ -1,26 +0,83 @@

# Jobber
---
name: jobber
description: "Use this skill whenever you need to inspect or operate Jobber through the local jobber CLI. Covers auth checks, current user and account identity, discovered operation browsing, and raw GraphQL against Jobber's private web API."
---
Use this skill whenever you need to inspect or operate Jobber through the local `jobber` CLI.
# Jobber CLI Skill
Typical uses:
Use this skill when you need to inspect or operate Jobber through the local
`jobber` CLI.
- inspect discovered Jobber operations
- run raw GraphQL queries against Jobber
- validate Jobber auth
- identify the current Jobber user and account
- bootstrap auth from a live `agent-browser` session
- prototype new Jobber workflows before adding typed commands
## Command
Suggested workflow:
Important naming detail:
1. `jobber doctor --json`
2. `jobber whoami --json`
3. `jobber operations list --search <term> --json`
4. `jobber operations inspect <name> --json`
5. `jobber graphql run --operation-name CurrentAccount --query 'query CurrentAccount { account { id name inTrial industry } }' --json`
- npm package name: `jobber-cli`
- CLI binary name: `jobber`
Notes:
Prefer an installed binary:
- This adapter is private-surface and fragile by definition.
```bash
jobber --help
```
For one-off package use after publication:
```bash
npx -y jobber-cli --help
```
For a source checkout:
```bash
npm install
npm run build
node dist/cli.js --help
```
Do not guess alternate package names unless they are explicitly published later.
## Safety Rules
- This is an unofficial private-surface adapter and is fragile by definition.
- Prefer read operations before mutations.
- If auth is missing, use `jobber auth import-agent-browser` while a logged-in Jobber browser session is open.
- Prefer `--json` for machine-readable output.
- Do not print, paste, store in repo, or commit Jobber cookie headers.
- Keep raw browser captures, traces, cookies, storage state, and full upstream
JSON exports out of the repo.
- `operations list` is a discovered inventory, not a guarantee that every
operation has a recovered query document.
- Use `graphql run` to prototype unsupported workflows before adding typed
commands.
## First Checks
```bash
jobber auth status --json
jobber doctor --json
jobber whoami --json
```
If auth is missing, import from a live logged-in `agent-browser` session or
attached browser on the same machine:
```bash
jobber auth import-agent-browser
```
Manual cookie-header auth is supported, but avoid putting cookie values in
shell history, logs, or chat:
```bash
printf '%s' "$JOBBER_COOKIE_HEADER" | jobber auth set-cookie-header --stdin
```
## Common Reads
```bash
jobber operations list --json
jobber operations list --search client --json
jobber operations inspect ClientDefaults --json
jobber graphql run --operation-name CurrentAccount --query 'query CurrentAccount { account { id name inTrial industry } }' --json
jobber graphql run --query-file ./query.graphql --variables-file ./vars.json --json
```
version: 1
display_name: Jobber CLI
short_description: Private-surface Jobber operations through a local agent-first CLI
default_prompt: Use the jobber CLI to inspect discovered Jobber operations, validate auth, identify the current user and account, and run raw GraphQL against Jobber's private web API. Prefer read operations before mutations.
---
name: jobber
description: |
Use this skill whenever you need to inspect or operate Jobber through the local `jobber` CLI.
Typical uses include validating auth, identifying the current Jobber user/account, browsing discovered operations,
and running raw GraphQL against Jobber's private web API.
---
# Jobber
Use this skill whenever you need to inspect or operate Jobber through the local `jobber` CLI.
Important naming detail:
- npm package name: `jobber-cli`
- CLI binary name: `jobber`
Resolution order:
1. If `jobber` is already on `$PATH`, use it directly.
2. Otherwise run the published package explicitly with `npx -y jobber-cli <args>`.
Do not guess alternate package names unless they are explicitly published later.
## Default workflow
- If auth is missing, run `jobber auth import-agent-browser`
- Sanity check auth: `jobber doctor --json`
- Check current identity: `jobber whoami --json`
- Browse operation inventory: `jobber operations list --search client --json`
- Inspect one operation: `jobber operations inspect ClientDefaults --json`
- Run raw GraphQL when needed: `jobber graphql run --operation-name CurrentAccount --query 'query CurrentAccount { account { id name inTrial industry } }' --json`
## Auth
Preferred from a live logged-in browser session:
- `jobber auth import-agent-browser`
Other supported paths:
- `printf '%s' "$JOBBER_COOKIE_HEADER" | jobber auth set-cookie-header --stdin`
- `JOBBER_COOKIE_HEADER=... jobber doctor --json`
Avoid pasting full cookie headers into logs or chat.
`jobber auth import-agent-browser` assumes a live authenticated `agent-browser` session or attached browser on the same machine.
## Constraints
- This is a private-surface adapter and is therefore fragile by definition.
- Prefer read operations before mutations.
- `operations list` is a discovered inventory, not a guarantee that every operation has a recovered query document.
- Use `graphql run` to prototype unsupported workflows before adding typed commands.