saasfunnels 0.1.0-beta.0 → 0.2.1

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
@@ -10,10 +10,10 @@ This repository contains only the MIT-licensed CLI and its bounded runtime contr
10
10
 
11
11
  ## Install
12
12
 
13
- After the beta is published:
13
+ Install the stable CLI:
14
14
 
15
15
  ```bash
16
- npm install --global saasfunnels@beta
16
+ npm install --global saasfunnels
17
17
  ```
18
18
 
19
19
  ## Use
@@ -24,10 +24,55 @@ saasfunnels verify --json
24
24
  saasfunnels mcp serve
25
25
  ```
26
26
 
27
+ ### Plans and pricing
28
+
29
+ ```bash
30
+ saasfunnels plans discover # propose files, no network call
31
+ saasfunnels plans discover --apply # write .saasfunnels/plan-sources.json
32
+ saasfunnels plans handoff --integration-id <id> \
33
+ --repository-key <repo> --repository-revision <sha> --send
34
+ ```
35
+
36
+ `plans discover` reads the working tree and proposes files that define plans and
37
+ prices. Files that reference a Stripe price are reported as evidence; files that
38
+ only look commercial by name and content are reported separately as guesses.
39
+ Nothing leaves the machine until `.saasfunnels/plan-sources.json` lists the files
40
+ and `plans handoff --send` is run, because plan mapping receives file contents
41
+ rather than the `file:line` references a feature manifest sends. Commit that file
42
+ so the approved set is reviewable.
43
+
44
+ ### GitHub Action
45
+
46
+ ```yaml
47
+ - uses: LeadEngine-ai/saasfunnels-cli/action@v0.2.1
48
+ with:
49
+ api-key: ${{ secrets.SAASFUNNELS_API_KEY }}
50
+ cli-version: 0.2.1 # pin it; a floating version rebaselines drift
51
+ discovery-roots: app,lib
52
+ ```
53
+
54
+ On a pull request the Action scans as a `candidate`: the result is compared
55
+ against the branch's baseline and discarded. Only the default branch advances
56
+ the lineage. Changing `discovery-roots` starts a new lineage, so drift is
57
+ measured against a comparable scan rather than a wider or narrower one.
58
+
59
+ Plan and pricing upload is opt-in:
60
+
61
+ ```yaml
62
+ plan-sources: "true"
63
+ integration-id: <stripe integration id>
64
+ ```
65
+
66
+ It runs only on the default branch, requires a committed
67
+ `.saasfunnels/plan-sources.json`, and fails with an explanation rather than
68
+ uploading anything if that file is missing.
69
+
27
70
  Local validation does not require credentials. Live reads use `SAASFUNNELS_API_KEY`; Direct API smoke events use `SAASFUNNELS_INGEST_API_KEY`. Set `SAASFUNNELS_API_BASE_URL` to target a controlled preview or the current SaaSFunnels host.
28
71
 
29
72
  Hosted interactive MCP uses Clerk OAuth at the application `/mcp` URL and does not require this CLI or a copied API key.
30
73
 
74
+ The application imports the exact versioned MCP registry through the server-side `saasfunnels/library` export. This keeps hosted Streamable HTTP and local stdio MCP on one package owner; it is not a browser API.
75
+
31
76
  ## Development
32
77
 
33
78
  ```bash
@@ -35,7 +80,7 @@ npm ci
35
80
  npm run release:verify
36
81
  ```
37
82
 
38
- The package allowlist is enforced as exactly `LICENSE`, `README.md`, `dist/saasfunnels.js`, and `package.json`.
83
+ The package allowlist is enforced as `LICENSE`, `README.md`, `package.json`, the `saasfunnels` executable bundle, and the typed server-side library bundle/declarations.
39
84
 
40
85
  Documentation: https://docs.saasfunnels.ai/developer-tools/saasfunnels-cli
41
86