lopebase 0.1.0 → 0.3.0

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.
Files changed (4) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +116 -20
  3. package/dist/lopebase.js +1718 -252
  4. package/package.json +20 -8
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jackalope Digital
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,28 +1,124 @@
1
- # lopebase
1
+ <p align="center">
2
+ <a href="https://lopebase.com"><img src="https://lopebase.com/icon-512.png" width="72" height="72" alt="LopeBase"></a>
3
+ </p>
2
4
 
3
- Set up a project in LopeBase from its own repo. Your coding agent does the steps
4
- and stops for you only when it has to. See ADR 0020.
5
+ <h1 align="center">lopebase</h1>
6
+
7
+ <p align="center">
8
+ Set up <a href="https://lopebase.com">LopeBase</a> from your project's own folder.<br>
9
+ Your coding agent does the steps. It stops for you only when it has to.
10
+ </p>
11
+
12
+ <p align="center">
13
+ <a href="https://lopebase.com">Website</a> ·
14
+ <a href="https://lopebase.com/agents">For agents</a> ·
15
+ <a href="https://lopebase.com/pricing">Pricing</a> ·
16
+ <a href="https://www.npmjs.com/package/@lopebase/adapter">@lopebase/adapter</a>
17
+ </p>
18
+
19
+ ---
20
+
21
+ LopeBase is one place to see and run all of your products: traffic, search,
22
+ signups, revenue, and errors side by side, with a weekly summary and an agent
23
+ that can help. This CLI connects a project to it in a few minutes.
24
+
25
+ ## Quick start
26
+
27
+ In the folder of any project you run:
5
28
 
6
29
  ```sh
7
- npx lopebase # scan, pick what to connect, hand off to your agent
8
- npx lopebase login # connect this computer: approve a code in the browser
9
- npx lopebase scan # what the scan found (--json for machines)
10
- npx lopebase prompt # print the agent prompt instead of launching an agent
11
- npx lopebase mcp # stdio MCP server that forwards to your workspace
30
+ npx lopebase
12
31
  ```
13
32
 
14
- `login` uses the device flow: it shows a short code, opens your workspace, and
15
- waits while you press Connect. `login --paste` takes a token from Settings,
16
- Agent access instead, for workspaces that do not offer device sign-in.
33
+ 1. **Scan.** It reads your dependency names, config file names, and the
34
+ variable *names* in example env files, then shows your stack, the services
35
+ you already use, and what is missing (for example analytics or error
36
+ tracking). You see each thing it reads as it reads it.
37
+ 2. **Connect this computer.** It opens your LopeBase workspace and shows a
38
+ short code. Check it matches and press Connect.
39
+ 3. **Pick what to connect.** Services already in your code are ticked; the
40
+ ones you do not use yet are offered, never forced.
41
+ 4. **Hand over to your agent.** It finds the coding agents you have installed
42
+ (Claude Code, Codex, Gemini CLI, opencode, Cursor Agent), gives the one you
43
+ choose the LopeBase tools, and starts it with what the scan found. The agent
44
+ does the setup and asks you when it needs a sign-in, a key, or a decision.
45
+
46
+ No agent installed? It prints the prompt for you to paste instead.
47
+
48
+ It animates a little in an interactive terminal. `--no-motion` or
49
+ `LOPEBASE_NO_MOTION=1` turns that off; CI and pipes never animate.
50
+
51
+ ## What it recognizes
52
+
53
+ Made for web products, and fine with anything else:
54
+
55
+ - **Frameworks:** Next.js, Astro, SvelteKit, Remix, React Router, Nuxt,
56
+ Gatsby, Docusaurus, Eleventy, Hugo, Jekyll, Angular, SolidStart, Qwik,
57
+ TanStack Start, Vue, React and Vite apps, plain static sites, Django, Flask,
58
+ FastAPI, Rails, Laravel, WordPress, Express, Fastify, NestJS, Hono, Expo, and
59
+ Electron.
60
+ - **Languages:** JavaScript and TypeScript, Python, Ruby, PHP, Go, and Rust,
61
+ from their own manifests.
62
+ - **Hosting, data, email, billing, and sign-in:** Cloudflare, Vercel, Netlify,
63
+ Fly.io, Render, Railway, Firebase, Amplify, Heroku, GitHub Pages, and Docker;
64
+ Supabase, Convex, Neon, Postgres, MySQL, MongoDB, D1, Prisma, Drizzle, and
65
+ more; Resend, Sequenzy, SendGrid, Postmark; Stripe, Polar, Lemon Squeezy,
66
+ Paddle; Clerk, WorkOS, Better Auth, Auth.js, and others.
67
+ - **Ready to connect to LopeBase:** PostHog, Google Analytics, Sentry, Stripe,
68
+ Polar, Supabase, Resend, Sequenzy, and GitHub when your code uses them; plus
69
+ Search Console, Bing, and an uptime check for any website.
70
+ - **Your site's address**, from `homepage`, wrangler routes, `CNAME`, a
71
+ framework config (`site`, `siteUrl`, `baseURL`), or the canonical tag in
72
+ `index.html`. **Your GitHub repo**, from the git remote.
73
+
74
+ ## Commands
75
+
76
+ | Command | What it does |
77
+ | --- | --- |
78
+ | `npx lopebase` | Scan, connect, choose, and hand over to your agent. |
79
+ | `npx lopebase login` | Connect this computer to your workspace with a short code. `--paste` to paste an agent token instead. |
80
+ | `npx lopebase scan` | Show what the scan found. `--json` for scripts. |
81
+ | `npx lopebase prompt` | Print the setup prompt instead of starting an agent. |
82
+ | `npx lopebase mcp` | Run the LopeBase tools as a local MCP server (stdio) for any agent. |
83
+ | `npx lopebase adapter secret` | Print a new signing secret for [@lopebase/adapter](https://www.npmjs.com/package/@lopebase/adapter). Pipe it straight into your secret store. |
84
+ | `npx lopebase adapter check <url>` | Test a running adapter, local or deployed, before you connect it. |
85
+
86
+ ## What it reads, and what it keeps
87
+
88
+ - **Reads:** `package.json` files (and `requirements.txt`, `pyproject.toml`,
89
+ `Gemfile`, `composer.json`, `go.mod`, `Cargo.toml`) at the root, in your
90
+ workspace folders, and in `apps/`, `packages/`, and similar folders; config
91
+ file names such as `wrangler.toml` or `vercel.json`; the site address in a
92
+ few config files; your git remote's address; and the variable names in
93
+ `.env.example` style files.
94
+ - **Never reads** a real `.env` file, and never sends a value anywhere. Only
95
+ names leave your machine, and only to your own workspace.
96
+ - **Keeps** one thing: an agent token in `~/.config/lopebase/auth.json`,
97
+ readable only by you. It lasts 30 days, acts as the workspace admin who
98
+ approved it, is limited to what that admin allowed, and can be revoked any
99
+ time under Settings, Agent access.
100
+ - `LOPEBASE_TOKEN` and `LOPEBASE_URL` override the saved values, for CI or
101
+ another machine.
102
+
103
+ ## Use it with any agent
104
+
105
+ `npx lopebase` sets this up for you. To add the tools by hand, register this
106
+ as a stdio MCP server in your agent:
107
+
108
+ ```sh
109
+ npx -y lopebase mcp
110
+ ```
111
+
112
+ Or point an agent that supports remote MCP straight at your workspace, for
113
+ example `https://yourteam.lopebase.com/api/mcp`. It will ask you to sign in.
114
+
115
+ ## Requirements
116
+
117
+ Node 18 or newer. Works on macOS, Linux, and Windows.
17
118
 
18
- From this monorepo: `bun run lopebase` (from the repo root). To publish:
19
- `bun run build` makes `dist/lopebase.js` for Node, and `npm publish` runs
20
- verify and build first.
119
+ ## Help
21
120
 
22
- The scan reads package.json files, config file names, and env var names from
23
- example env files. It never reads a real `.env` file and never sends a value.
24
- The token is saved to `~/.config/lopebase/auth.json` (mode 600), or read from
25
- `LOPEBASE_TOKEN` and `LOPEBASE_URL`.
121
+ Questions or problems: [contact@jackalope.digital](mailto:contact@jackalope.digital).
122
+ Privacy: [app.lopebase.com/legal/privacy](https://app.lopebase.com/legal/privacy).
26
123
 
27
- `src/detect.ts` is also imported by the backoffice's `detect_stack` tool, so the
28
- terminal and the server give the same answer.
124
+ LopeBase is made by [Jackalope Digital](https://jackalope.digital).