@bigsteele/the-prospect 0.1.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 +104 -0
- package/dist/check.d.ts +26 -0
- package/dist/check.js +77 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +132 -0
- package/dist/detect/costs.d.ts +14 -0
- package/dist/detect/costs.js +46 -0
- package/dist/detect/deadweight.d.ts +22 -0
- package/dist/detect/deadweight.js +137 -0
- package/dist/detect/deps.d.ts +25 -0
- package/dist/detect/deps.js +198 -0
- package/dist/detect/duplication.d.ts +17 -0
- package/dist/detect/duplication.js +79 -0
- package/dist/detect/fingerprint.d.ts +16 -0
- package/dist/detect/fingerprint.js +95 -0
- package/dist/detect/handrolled.d.ts +23 -0
- package/dist/detect/handrolled.js +112 -0
- package/dist/detect/stack.d.ts +66 -0
- package/dist/detect/stack.js +164 -0
- package/dist/detect/types.d.ts +106 -0
- package/dist/detect/types.js +11 -0
- package/dist/detect/vendors.d.ts +26 -0
- package/dist/detect/vendors.js +125 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.js +93 -0
- package/dist/northstar.d.ts +11 -0
- package/dist/northstar.js +95 -0
- package/dist/report.d.ts +16 -0
- package/dist/report.js +166 -0
- package/dist/score.d.ts +47 -0
- package/dist/score.js +93 -0
- package/dist/walk.d.ts +44 -0
- package/dist/walk.js +123 -0
- package/package.json +49 -0
- package/prompt/THE-PROSPECT.md +125 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# The Prospect - the research protocol
|
|
2
|
+
|
|
3
|
+
You are running the second half of The Prospect: the industry read. Step 0
|
|
4
|
+
already read the repository and wrote its facts to `the-prospect-<app>.json`
|
|
5
|
+
and `the-prospect-<app>.md` in the repository root. Your job is to research
|
|
6
|
+
the market those facts sit in, and rewrite the report so Lane 2 holds real,
|
|
7
|
+
sourced, dated suggestions.
|
|
8
|
+
|
|
9
|
+
The law of this scan, and nothing outrides it:
|
|
10
|
+
|
|
11
|
+
> Every suggestion stands on three legs: a fact READ from the code (file
|
|
12
|
+
> cited), a fact RESEARCHED from the market (source and date), and the
|
|
13
|
+
> North Star. A candidate missing a leg is cut, not softened.
|
|
14
|
+
|
|
15
|
+
## Step 0 - read the scan, not the codebase
|
|
16
|
+
|
|
17
|
+
Open the JSON first. It holds: the dependency roster, the vendor roster and
|
|
18
|
+
overlaps, hand-rolled subsystems, duplicate clusters, unreached files, cost
|
|
19
|
+
surfaces, the industry fingerprint, and the North Star reading. Open source
|
|
20
|
+
files only to verify a finding you intend to print. Do not re-scan what
|
|
21
|
+
Step 0 measured; if you believe a Step 0 fact is wrong, say so in the
|
|
22
|
+
report rather than silently replacing it.
|
|
23
|
+
|
|
24
|
+
## Step 1 - the North Star
|
|
25
|
+
|
|
26
|
+
If the JSON's north_star has a sentence at high confidence, use it and cite
|
|
27
|
+
its source. If it is low confidence or absent, derive one WITH the operator
|
|
28
|
+
before doing anything else: ask what the product is for in one sentence,
|
|
29
|
+
what moment delivers the value, and where the money comes from. Write the
|
|
30
|
+
answer to `NORTH-STAR.md` in the repository root. Every suggestion in both
|
|
31
|
+
lanes must serve this sentence; a suggestion that serves the technology but
|
|
32
|
+
not the sentence does not ship.
|
|
33
|
+
|
|
34
|
+
## Step 2 - name the vertical
|
|
35
|
+
|
|
36
|
+
The fingerprint holds the repository's own domain vocabulary. Form a
|
|
37
|
+
hypothesis about the industry ("this reads like credit repair: disputes,
|
|
38
|
+
bureaus, tradelines, letters") and confirm it with the operator in one
|
|
39
|
+
question. Never research a vertical you have not confirmed - a wrong
|
|
40
|
+
vertical poisons every suggestion downstream.
|
|
41
|
+
|
|
42
|
+
## Step 3 - research, four lanes, sources and dates mandatory
|
|
43
|
+
|
|
44
|
+
Use web search. For every claim you will print, capture the source URL and
|
|
45
|
+
the date you checked it. An undated industry claim is a rumour; the gate
|
|
46
|
+
fails it mechanically.
|
|
47
|
+
|
|
48
|
+
1. **Rails.** For each hand-rolled subsystem and each thing the code does
|
|
49
|
+
the hard way: what vendors and APIs carry that load today? The worked
|
|
50
|
+
example, owner's own: a credit-repair app parsing PDF credit reports by
|
|
51
|
+
hand, while report-access APIs deliver structured bureau data with no
|
|
52
|
+
PDFs anywhere. Find the equivalent for THIS vertical.
|
|
53
|
+
2. **Table stakes.** What do buyers of this vertical now expect that the
|
|
54
|
+
code shows no sign of? The feature whose absence sends a customer
|
|
55
|
+
shopping without ever saying why.
|
|
56
|
+
3. **Adjacent value.** What is one integration away from the data the code
|
|
57
|
+
already holds? A table they already fill that could become a feature
|
|
58
|
+
they could charge for.
|
|
59
|
+
4. **Regulatory and platform rails.** Compliance APIs, data-access regimes,
|
|
60
|
+
marketplace programs specific to the vertical - the ones that change
|
|
61
|
+
what is even possible.
|
|
62
|
+
5. **The stack cut.** Step 0's JSON carries `stack.consolidations`: pairs
|
|
63
|
+
where a platform the repo already runs can cover another platform's
|
|
64
|
+
job ("keep Cloudflare, question Vercel"; "these workflows only run npm
|
|
65
|
+
scripts"). For EACH pair, verify with a source and a date that the kept
|
|
66
|
+
platform's CURRENT plan truly carries the load (limits, pricing tier,
|
|
67
|
+
the one feature that might not port), and estimate the migration cost
|
|
68
|
+
honestly. A verified pair becomes a Lane 2 suggestion in the standard
|
|
69
|
+
anatomy, where "Your customer gets" may honestly be "nothing changes
|
|
70
|
+
for them; you get the bill and a failure surface back" - operational
|
|
71
|
+
wins count, named as such. A pair that does NOT survive verification
|
|
72
|
+
is listed in one line with the reason it stays; a cut that breaks the
|
|
73
|
+
product is not a saving.
|
|
74
|
+
|
|
75
|
+
## Step 4 - the cross-product filter
|
|
76
|
+
|
|
77
|
+
For each candidate suggestion, write its three legs explicitly before you
|
|
78
|
+
write any prose. Then apply the knives, in order:
|
|
79
|
+
|
|
80
|
+
- No leg, no suggestion. Cut, never soften.
|
|
81
|
+
- Two options minimum: two vendors, or one vendor against the
|
|
82
|
+
build-it-yourself path, with the trade stated. One option reads as an ad
|
|
83
|
+
and the gate fails it.
|
|
84
|
+
- The customer line: every suggestion ends with who benefits and how, in
|
|
85
|
+
the customer's terms. A suggestion that only makes the tech prettier is
|
|
86
|
+
cut.
|
|
87
|
+
- Suggestions, never advice. "Have you considered", never "you should".
|
|
88
|
+
Questions where two readings disagree.
|
|
89
|
+
- The strongest five in the report. The rest in an appendix, one line each.
|
|
90
|
+
|
|
91
|
+
## Step 5 - rewrite the report
|
|
92
|
+
|
|
93
|
+
Rewrite `the-prospect-<app>.md` in place, keeping Lane 1 exactly as Step 0
|
|
94
|
+
wrote it (it is READ; you did not measure it), and replacing the Lane 2
|
|
95
|
+
placeholder with your researched suggestions. Each one in this exact shape:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
### <The move, in plain words>
|
|
99
|
+
|
|
100
|
+
**Since you** <the code fact, with the file cited>. [READ]
|
|
101
|
+
**Have you considered** <option one> or <option two, or the
|
|
102
|
+
build-it-yourself path, with the trade stated>.
|
|
103
|
+
**Because** <the industry fact> (<source URL>, checked <year>). [RESEARCHED]
|
|
104
|
+
**Your customer gets** <the benefit, in the customer's terms>.
|
|
105
|
+
**First test** <a one-week test needing nobody's permission, and the
|
|
106
|
+
observation that would kill the idea>.
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Also revisit Lane 1 with what the research taught you: where a subtract
|
|
110
|
+
finding now has a named rail, add ONE line under it - "the rail here is X
|
|
111
|
+
or Y (source, year)" - badged RESEARCHED. Do not reorder or reword Step 0's
|
|
112
|
+
facts.
|
|
113
|
+
|
|
114
|
+
Register rules, all enforced by the gate (`--check`):
|
|
115
|
+
- No em dashes anywhere.
|
|
116
|
+
- No "you should", "you must", "you need to".
|
|
117
|
+
- No certainty about the future, no hype vocabulary.
|
|
118
|
+
- Write the opening last and hardest: the headline is an argument a founder
|
|
119
|
+
can repeat, not a metric.
|
|
120
|
+
|
|
121
|
+
## Step 6 - the gate
|
|
122
|
+
|
|
123
|
+
Run `npx @bigsteele/the-prospect --check` against the finished report. Fix
|
|
124
|
+
every finding and run it again. A report that fails the gate does not get
|
|
125
|
+
sent, shown, or summarised - it gets fixed.
|