gooseworks 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,37 +1,33 @@
1
- # @gooseworks/cli
1
+ # GooseWorks
2
2
 
3
- Give your coding agent (Claude Code, Cursor) access to GooseWorks data tools — find emails, search people, enrich companies, scrape Twitter/Reddit/websites — with one install.
3
+ Give your coding agent (Claude Code, Cursor) access to 100+ data tools — scrape Twitter/Reddit/LinkedIn, find emails, enrich companies, research competitors — with one install.
4
4
 
5
5
  ## Quick Start
6
6
 
7
7
  ```bash
8
- npx @gooseworks/cli install --claude
8
+ npx gooseworks install --claude
9
9
  ```
10
10
 
11
11
  This does three things:
12
- 1. Opens browser for Google sign-in → gets you an API token
13
- 2. Downloads skill files (SKILL.md + Python scripts) to `~/.agents/skills/`
14
- 3. Symlinks them into `~/.claude/skills/` so Claude Code can use them
15
-
16
- Then open Claude Code and say "find me leads" to get started.
12
+ 1. Opens browser for Google sign-in
13
+ 2. Installs the GooseWorks skill into Claude Code
14
+ 3. You're ready ask Claude to "scrape reddit", "find leads", "research competitors"
17
15
 
18
16
  ## Commands
19
17
 
20
18
  ### `install`
21
19
 
22
- Full setup: login + download skills + configure your coding agent.
20
+ Full setup: login + install skill + configure your coding agent.
23
21
 
24
22
  ```bash
25
- gooseworks install --claude # Configure for Claude Code
26
- gooseworks install --cursor # Configure for Cursor
27
- gooseworks install --all # Configure all detected agents
28
- gooseworks install --claude --api-base http://localhost:5999 # Use local backend
23
+ npx gooseworks install --claude # Configure for Claude Code
24
+ npx gooseworks install --cursor # Configure for Cursor
25
+ npx gooseworks install --all # Configure all detected agents
29
26
  ```
30
27
 
31
28
  **What it does:**
32
29
  - Runs `login` if you don't have credentials yet
33
- - Fetches the skill catalog from GooseWorks API (falls back to GitHub)
34
- - Writes skills to `~/.agents/skills/gooseworks-*/`
30
+ - Writes the GooseWorks master skill to `~/.agents/skills/gooseworks-master/SKILL.md`
35
31
  - Creates symlinks in `~/.claude/skills/` (Claude) or writes MCP config (Cursor)
36
32
 
37
33
  ### `login`
@@ -39,16 +35,14 @@ gooseworks install --claude --api-base http://localhost:5999 # Use local backe
39
35
  Authenticate with GooseWorks via Google OAuth.
40
36
 
41
37
  ```bash
42
- gooseworks login
43
- gooseworks login --api-base http://localhost:5999
38
+ npx gooseworks login
44
39
  ```
45
40
 
46
41
  **Flow:**
47
42
  1. Starts a temporary HTTP server on a random local port
48
43
  2. Opens your browser to the GooseWorks sign-in page
49
- 3. You sign in with Google (uses existing GooseWorks passport flow)
50
- 4. Browser redirects back to the local server with your `cal_*` API token
51
- 5. Token saved to `~/.gooseworks/credentials.json`
44
+ 3. You sign in with Google
45
+ 4. Token saved to `~/.gooseworks/credentials.json`
52
46
 
53
47
  Timeout: 120 seconds. If the browser doesn't complete, re-run the command.
54
48
 
@@ -57,27 +51,27 @@ Timeout: 120 seconds. If the browser doesn't complete, re-run the command.
57
51
  Clear saved credentials.
58
52
 
59
53
  ```bash
60
- gooseworks logout
54
+ npx gooseworks logout
61
55
  ```
62
56
 
63
- Deletes `~/.gooseworks/credentials.json`. Does not revoke the API token server-side — you can do that from the GooseWorks web UI under Settings > API Keys.
57
+ Deletes `~/.gooseworks/credentials.json`.
64
58
 
65
- ### `update`
59
+ ### `search`
66
60
 
67
- Re-fetch the latest skills without re-authenticating.
61
+ Search the GooseWorks skill catalog.
68
62
 
69
63
  ```bash
70
- gooseworks update
64
+ npx gooseworks search "reddit scraping"
65
+ npx gooseworks search "find emails"
66
+ npx gooseworks search "competitor research"
71
67
  ```
72
68
 
73
- Removes old skill files, downloads the latest catalog, and reconfigures agent symlinks.
74
-
75
69
  ### `credits`
76
70
 
77
71
  Check your credit balance.
78
72
 
79
73
  ```bash
80
- gooseworks credits
74
+ npx gooseworks credits
81
75
  ```
82
76
 
83
77
  Output:
@@ -85,6 +79,37 @@ Output:
85
79
  Credits: 847 available (500 subscription + 347 purchased)
86
80
  ```
87
81
 
82
+ ### `update`
83
+
84
+ Re-fetch the latest skill without re-authenticating.
85
+
86
+ ```bash
87
+ npx gooseworks update
88
+ ```
89
+
90
+ ## How It Works
91
+
92
+ 1. **Install** — authenticates you and installs a master skill file into your coding agent
93
+ 2. **Ask your agent anything** — "scrape r/ClaudeAI", "find CTOs at AI startups", "research competitor pricing"
94
+ 3. **Agent finds the right skill** — searches the GooseWorks catalog of 100+ skills
95
+ 4. **Runs it** — downloads and executes the skill's Python scripts, which call GooseWorks APIs
96
+ 5. **You get results** — structured data returned directly in your coding agent
97
+
98
+ ## What's Included
99
+
100
+ - Twitter/X scraping
101
+ - Reddit scraping
102
+ - LinkedIn profile & post scraping
103
+ - Company research & enrichment
104
+ - Contact/email finding (Apollo)
105
+ - Lead qualification & scoring
106
+ - Competitor intelligence
107
+ - Job posting monitoring
108
+ - SEO analysis
109
+ - Google & Meta ad scraping
110
+ - YouTube transcript extraction
111
+ - And 90+ more skills
112
+
88
113
  ## File Layout
89
114
 
90
115
  ### Credentials
@@ -94,87 +119,34 @@ Credits: 847 available (500 subscription + 347 purchased)
94
119
  └── credentials.json # API key, email, agent_id, api_base
95
120
  ```
96
121
 
97
- Directory: `700` permissions. File: `600` permissions.
98
-
99
- ```json
100
- {
101
- "api_key": "cal_xxxxxxxxxxxxx",
102
- "email": "user@example.com",
103
- "agent_id": "uuid",
104
- "api_base": "http://localhost:5999"
105
- }
106
- ```
107
-
108
122
  ### Skills
109
123
 
110
124
  ```
111
125
  ~/.agents/skills/
112
- ├── gooseworks-master/SKILL.md # Master skill with API reference
113
- ├── gooseworks-twitter-scraper/
114
- │ ├── SKILL.md
115
- │ └── scripts/
116
- │ ├── search_twitter.py
117
- │ └── lib/gooseworks.py
118
- ├── gooseworks-apollo-lead-finder/
119
- │ ├── SKILL.md
120
- │ └── scripts/
121
- │ └── ...
122
- └── ...
126
+ └── gooseworks-master/
127
+ └── SKILL.md # Master skill — teaches your agent to use GooseWorks
123
128
  ```
124
129
 
125
130
  ### Claude Code Symlinks
126
131
 
127
132
  ```
128
133
  ~/.claude/skills/
129
- ├── gooseworks-master → ~/.agents/skills/gooseworks-master
130
- ├── gooseworks-twitter-scraper → ~/.agents/skills/gooseworks-twitter-scraper
131
- └── ...
134
+ └── gooseworks-master → ~/.agents/skills/gooseworks-master
132
135
  ```
133
136
 
134
- ## Environment Variables
135
-
136
- | Variable | Default | Description |
137
- |----------|---------|-------------|
138
- | `GOOSEWORKS_FRONTEND_URL` | `http://localhost:3999` | Frontend URL for OAuth browser flow |
137
+ ## Pricing
139
138
 
140
- The `--api-base` flag (or `api_base` in credentials.json) controls the backend API URL. Defaults to `http://localhost:5999`.
141
-
142
- ## Development
143
-
144
- ```bash
145
- cd cli/
139
+ New users get **200 free credits**. Each skill run costs 1-10 credits depending on the data source. Check your balance with `npx gooseworks credits`.
146
140
 
147
- # Install dependencies
148
- npm install
141
+ Need more? Visit [gooseworks.ai/settings](https://app.gooseworks.ai/settings?tab=billing) to add credits.
149
142
 
150
- # Run locally without building
151
- npm run dev -- install --claude
143
+ ## Requirements
152
144
 
153
- # Build
154
- npm run build
145
+ - Node.js 18+
146
+ - Python 3 (for running skill scripts)
147
+ - Claude Code or Cursor
155
148
 
156
- # Run tests
157
- npm test
158
- ```
159
-
160
- ## Auth Flow (Technical)
161
-
162
- The CLI does NOT do its own Google OAuth code exchange. It piggybacks on the existing GooseWorks passport flow:
163
-
164
- ```
165
- CLI starts localhost:19382
166
- → opens browser to {FRONTEND}/cli/auth?callback_port=19382&state=nonce
167
- → frontend page tries POST /api/cli/auth/token (fails: no session)
168
- → shows "Sign in with Google" button
169
- → button navigates to {BACKEND}/auth/google?returnTo=/cli/auth?callback_port=...
170
- → normal passport Google OAuth flow
171
- → Google redirects to {BACKEND}/auth/google/redirect (already registered)
172
- → passport creates session cookie
173
- → redirects back to {FRONTEND}/cli/auth?callback_port=19382&state=nonce
174
- → frontend page retries POST /api/cli/auth/token (succeeds: session exists)
175
- → backend creates cal_* token, returns it
176
- → frontend redirects to localhost:19382/callback?token=cal_xxx&email=...
177
- → CLI receives token, saves credentials, exits
178
- ```
149
+ ## Links
179
150
 
180
- No new Google OAuth redirect URIs needed.
151
+ - [GooseWorks](https://gooseworks.ai)
152
+ - [Documentation](https://docs.gooseworks.ai)
@@ -79,8 +79,8 @@ exports.creditsCommand = new commander_1.Command('credits')
79
79
  logger.error('Failed to fetch credits');
80
80
  process.exit(1);
81
81
  }
82
- const { available, subscription, purchased } = response.data;
83
- logger.success(`Credits: ${available.toLocaleString()} available (${subscription.toLocaleString()} subscription + ${purchased.toLocaleString()} purchased)`);
82
+ const { available_credits, subscription_credits, purchased_credits } = response.data;
83
+ logger.success(`Credits: ${available_credits.toLocaleString()} available (${subscription_credits.toLocaleString()} subscription + ${purchased_credits.toLocaleString()} purchased)`);
84
84
  }
85
85
  catch (err) {
86
86
  const message = err instanceof Error ? err.message : 'Failed to fetch credits';
@@ -1 +1 @@
1
- {"version":3,"file":"credits.js","sourceRoot":"","sources":["../../src/commands/credits.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,6CAA+B;AAC/B,2CAA6B;AAC7B,qDAAqD;AACrD,wDAA0C;AAW1C,SAAS,YAAY,CAAC,OAAe,EAAE,MAAc;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,aAAa,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAExD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACrC,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,MAAM,EAAE;gBACnC,QAAQ,EAAE,kBAAkB;aAC7B;SACF,EAAE,CAAC,GAAG,EAAE,EAAE;YACT,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;oBACjE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAEY,QAAA,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,KAAK,GAAG,IAAA,4BAAc,GAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7D,MAAM,CAAC,OAAO,CACZ,YAAY,SAAS,CAAC,cAAc,EAAE,eAAe,YAAY,CAAC,cAAc,EAAE,mBAAmB,SAAS,CAAC,cAAc,EAAE,aAAa,CAC7I,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"credits.js","sourceRoot":"","sources":["../../src/commands/credits.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -8,6 +8,6 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.FRONTEND_URL = exports.API_BASE = void 0;
11
- exports.API_BASE = process.env.GOOSEWORKS_API_BASE || 'https://app.gooseworks.ai';
11
+ exports.API_BASE = process.env.GOOSEWORKS_API_BASE || 'https://api.gooseworks.ai';
12
12
  exports.FRONTEND_URL = process.env.GOOSEWORKS_FRONTEND_URL || 'https://app.gooseworks.ai';
13
13
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"master-skill.d.ts","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CA0E/D"}
1
+ {"version":3,"file":"master-skill.d.ts","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAiG/D"}
@@ -11,13 +11,15 @@ function getMasterSkillContent(_apiBase) {
11
11
  name: GooseWorks
12
12
  slug: gooseworks-master
13
13
  description: >
14
- GooseWorks data toolkit. Search and scrape Twitter/X, Reddit, websites, and the web.
14
+ GooseWorks data toolkit. Search and scrape Twitter/X, Reddit, LinkedIn, websites, and the web.
15
15
  Find people, emails, and company info. Enrich contacts and companies.
16
- Use this for ANY data lookup, web scraping, people search, or research task.
16
+ GTM tasks: lead generation, prospect research, ICP identification, competitor analysis, outbound list building.
17
+ LinkedIn scraping: extract post engagers, commenters, profile data, and job postings.
18
+ Use this for ANY data lookup, web scraping, people search, lead gen, GTM, or research task.
17
19
  category: general
18
20
  version: 1.0.0
19
21
  author: GooseWorks
20
- tags: [gooseworks, data, scraping, search, reddit, twitter, email, people, research]
22
+ tags: [gooseworks, data, scraping, search, reddit, twitter, linkedin, email, people, research, gtm, leads, prospecting]
21
23
  ---
22
24
 
23
25
  # GooseWorks
@@ -29,7 +31,7 @@ You have access to GooseWorks — a toolkit with 100+ data skills for scraping,
29
31
  Read your credentials from ~/.gooseworks/credentials.json:
30
32
  \`\`\`bash
31
33
  export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
32
- export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://app.gooseworks.ai'))")
34
+ export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
33
35
  \`\`\`
34
36
 
35
37
  If ~/.gooseworks/credentials.json does not exist, tell the user to run: \`npx gooseworks login\`
@@ -58,12 +60,22 @@ curl -s $GOOSEWORKS_API_BASE/api/skills/catalog/<slug> \\
58
60
  This returns:
59
61
  - **content**: The skill's instructions (SKILL.md) — follow these step by step
60
62
  - **scripts**: Python scripts the skill uses — save them locally and run them
63
+ - **requiresSkills**: Array of dependency skill slugs (for composite skills)
64
+ - **dependencySkills**: Full content and scripts for each dependency
61
65
 
62
- ### Step 3: Run the skill
66
+ ### Step 3: Set up dependency skills (if any)
67
+ If the response includes \`dependencySkills\` (non-empty array), set up each dependency BEFORE running the main skill:
68
+ 1. For each dependency in \`dependencySkills\`:
69
+ - Save its scripts to \`/tmp/gooseworks-scripts/<dep-slug>/\`
70
+ - Install any pip dependencies it needs
71
+ 2. When the main skill's instructions reference a dependency script (e.g. \`python3 skills/reddit-scraper/scripts/scrape_reddit.py\`), run it from \`/tmp/gooseworks-scripts/<dep-slug>/\` instead
72
+
73
+ ### Step 4: Run the skill
63
74
  Follow the instructions in the skill's \`content\` field. If the skill includes \`scripts\`:
64
75
  1. Save each script to \`/tmp/gooseworks-scripts/<slug>/\` — **NEVER save scripts into the user's project directory**
65
76
  2. Install any required pip dependencies mentioned in the instructions
66
77
  3. Run the script with the parameters described in the instructions
78
+ 4. When instructions reference dependency scripts, use paths from Step 3: \`/tmp/gooseworks-scripts/<dep-slug>/<script>\`
67
79
 
68
80
  ### Check credit balance
69
81
  \`\`\`bash
@@ -71,6 +83,16 @@ curl -s $GOOSEWORKS_API_BASE/v1/credits \\
71
83
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY"
72
84
  \`\`\`
73
85
 
86
+ ## Working Directory & Output Files
87
+
88
+ - **Scripts** always go to \`/tmp/gooseworks-scripts/<slug>/\` — NEVER the user's project directory
89
+ - **Output files** (CSVs, reports, data exports) go to a **GooseWorks working directory**:
90
+ 1. If the user specifies where to save results, use that location
91
+ 2. Otherwise, default to \`~/Gooseworks/\` — create it if it doesn't exist
92
+ 3. **Before saving output**, confirm with the user: *"I'll save the results to ~/Gooseworks/<filename>. Would you like a different location?"*
93
+ 4. Organize outputs in subfolders by task type when it makes sense (e.g. \`~/Gooseworks/reddit-scrapes/\`, \`~/Gooseworks/research/\`)
94
+ - **Never overwrite existing files** without asking. If a file already exists, append a timestamp or ask the user
95
+
74
96
  ## Rules
75
97
 
76
98
  1. **ALWAYS search GooseWorks skills first** for any data task — scraping, research, lead gen, enrichment, anything
@@ -79,6 +101,7 @@ curl -s $GOOSEWORKS_API_BASE/v1/credits \\
79
101
  4. **If GOOSEWORKS_API_KEY is not set**: tell the user to run \`npx gooseworks login\`
80
102
  5. **Parse JSON responses** and present data in a readable format to the user
81
103
  6. **When running scripts**: save to \`/tmp/gooseworks-scripts/\`, install pip deps, then execute. NEVER pollute the user's project directory
104
+ 7. **Output files default to \`~/Gooseworks/\`** — always confirm with the user before saving
82
105
  `;
83
106
  }
84
107
  //# sourceMappingURL=master-skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"master-skill.js","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":";;AAKA,sDA0EC;AA/ED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,QAAiB;IACrD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwER,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"master-skill.js","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":";;AAKA,sDAiGC;AAtGD;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,QAAiB;IACrD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+FR,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gooseworks",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "GooseWorks CLI — give your coding agent real data tools",
5
5
  "bin": {
6
6
  "gooseworks": "./dist/index.js"
@@ -39,5 +39,11 @@
39
39
  "ai-agents",
40
40
  "data-tools"
41
41
  ],
42
- "license": "UNLICENSED"
42
+ "license": "MIT",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "https://github.com/gooseworks-ai/gooseworks-app"
46
+ },
47
+ "homepage": "https://gooseworks.ai",
48
+ "author": "GooseWorks <hello@gooseworks.ai>"
43
49
  }