moshcode 0.30.0 → 0.32.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.
package/README.md CHANGED
@@ -382,7 +382,7 @@ differ only where the markets do. Either one's `/…:help` prints its own list.
382
382
  | | `stocks@moshcode` | `crypto@moshcode` |
383
383
  |---|---|---|
384
384
  | shared | `help` `report` `quote` `lookup` | `help` `report` `quote` `lookup` |
385
- | its own | `signals` `research` `reports` `discover` | `book` `bars` `spark` `pairs` |
385
+ | its own | `signals` `research` `list` `discover` | `book` `bars` `spark` `pairs` |
386
386
 
387
387
  So `/stocks:report NVDA` and `/crypto:report BTC` are the same question asked of
388
388
  different markets, while `/stocks:signals` (what an executive said on a call)
@@ -643,6 +643,7 @@ chmod +x deploy.mosh
643
643
  | `ugig(args…)` | drive the ugig workflow CLI |
644
644
  | `coinpay(args…)` | drive the coinpay workflow CLI |
645
645
  | `c0mpute(args…)` | drive the c0mpute workflow CLI |
646
+ | `c0upons(args…)` | drive the c0upons workflow CLI |
646
647
  | `secrets(args…)` | drive the logicsrc secrets CLI |
647
648
  | `railway(args…)` | drive the Railway CLI |
648
649
  | `gh(args…)` | drive the GitHub CLI |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "moshcode",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "type": "module",
5
5
  "description": "moshcode — a metal wrapper for coding engines and native UGig/CoinPay workflow CLIs, with OpenPRD and moshscript",
6
6
  "repository": {
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
3
  "name": "crypto",
4
4
  "description": "Crypto market data slash commands backed by advis0r.com: live prices, technical scores, order books, OHLCV history and sparklines across Alpaca's US crypto venue.",
5
- "version": "0.3.0",
5
+ "version": "0.4.0",
6
6
  "author": {
7
7
  "name": "moshcoder",
8
8
  "url": "https://moshcode.sh"
@@ -26,7 +26,7 @@ below. Render it as a compact table, then the notes.
26
26
  - `stocks@moshcode` is the sibling plugin, and the four shared names mean the
27
27
  same thing there: `/stocks:report`, `/stocks:quote`, `/stocks:lookup`,
28
28
  `/stocks:help`. It adds `/stocks:signals`, `/stocks:research`,
29
- `/stocks:reports` and `/stocks:discover` — transcript and filing work that
29
+ `/stocks:list` and `/stocks:discover` — transcript and filing work that
30
30
  has no crypto equivalent.
31
31
  - **These are live venue reads, not stored snapshots** — the opposite of the
32
32
  stocks plugin. Prices are Alpaca's US crypto venue alone and can differ
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
3
  "name": "stocks",
4
4
  "description": "Equity research slash commands backed by advis0r.com: scored reports, extracted signals, transcript search, company-name lookup, and ranked watchlists.",
5
- "version": "0.3.0",
5
+ "version": "0.4.0",
6
6
  "author": {
7
7
  "name": "moshcoder",
8
8
  "url": "https://moshcode.sh"
@@ -12,7 +12,7 @@ and ranked watchlists.
12
12
  | `/stocks:lookup rivian` | company name → `RIVN` |
13
13
  | `/stocks:signals AAPL` | what was actually said, quoted and sourced |
14
14
  | `/stocks:research data center` | full-text search across every indexed transcript |
15
- | `/stocks:reports` | every stored report, best score first |
15
+ | `/stocks:list` | every ticker with a stored report, best score first |
16
16
  | `/stocks:discover fusion` | a ranked watchlist for a topic (slow) |
17
17
 
18
18
  The first four names mean the same thing in `crypto@moshcode` — `help`,
@@ -20,8 +20,10 @@ The first four names mean the same thing in `crypto@moshcode` — `help`,
20
20
  The rest are the parts equities have and crypto does not: transcripts, filings,
21
21
  and a watchlist built from them.
22
22
 
23
- Note `report` and `reports` are different commands: singular takes a symbol and
24
- returns one write-up, plural takes nothing and lists the whole stored index.
23
+ `/stocks:report` takes a symbol and returns one write-up; `/stocks:list` takes
24
+ none and lists everything covered. `list` was called `reports` until v0.31.0
25
+ one letter from `report`, which made it a coin-flip at the prompt. The CLI has
26
+ accepted `moshcode stocks list` all along, so the two surfaces still agree.
25
27
 
26
28
  The `stocks:` prefix is not optional. Claude Code namespaces every plugin
27
29
  command as `/<plugin>:<command>` — always, not only when two plugins collide —
@@ -14,13 +14,14 @@ below. Render it as a compact table, then the notes.
14
14
  | `/stocks:lookup <company>` | company name → ticker (`rivian` → `RIVN`) |
15
15
  | `/stocks:signals <SYMBOL>` | what was actually said, quoted and sourced |
16
16
  | `/stocks:research <words…>` | full-text search across every indexed transcript |
17
- | `/stocks:reports` | every stored report, best score first |
17
+ | `/stocks:list` | every ticker with a stored report, best score first |
18
18
  | `/stocks:discover <topic>` | a ranked watchlist for a topic (slow — analyzes each candidate) |
19
19
 
20
20
  ## Notes to pass on
21
21
 
22
- - **`report` and `reports` are different commands.** Singular takes a symbol and
23
- returns one write-up; plural takes nothing and lists the whole stored index.
22
+ - `/stocks:report` takes a symbol and returns one write-up; `/stocks:list` takes
23
+ no symbol and lists everything covered. (`list` used to be called `reports`,
24
+ which sat one letter from `report` and was a coin-flip at the prompt.)
24
25
  - Every command name is namespaced `/stocks:…`. A bare `/report` is not a
25
26
  command — Claude Code always prefixes plugin commands with the plugin name.
26
27
  - `crypto@moshcode` is the sibling plugin, and the four shared names mean the
@@ -1,15 +1,15 @@
1
1
  ---
2
- description: Every stored advis0r research report, best score first.
2
+ description: List every ticker with a stored report, best score first.
3
3
  argument-hint: "[--limit n] [--sort recent|score|ticker]"
4
4
  allowed-tools: Bash(moshcode stocks:*), Bash(curl -sS https://advis0r.com/api/:*)
5
5
  ---
6
6
 
7
7
  ## Task
8
8
 
9
- List the stored reports.
9
+ List every ticker advis0r has a stored report for.
10
10
 
11
11
  ```bash
12
- moshcode stocks reports $ARGUMENTS --json
12
+ moshcode stocks list $ARGUMENTS --json
13
13
  ```
14
14
 
15
15
  Fallback: `curl -sS "https://advis0r.com/api/reports?sort=score&limit=25"`
package/src/commands.mjs CHANGED
@@ -240,6 +240,7 @@ const COMMANDS = [
240
240
  cliVerb("ugig", "drive the ugig workflow CLI"),
241
241
  cliVerb("coinpay", "drive the coinpay workflow CLI"),
242
242
  cliVerb("c0mpute", "drive the c0mpute workflow CLI"),
243
+ cliVerb("c0upons", "drive the c0upons workflow CLI"),
243
244
  cliVerb("secrets", "manage/view team secrets via logicsrc (login, teams, credentials)"),
244
245
  cliVerb("railway", "drive the Railway CLI (deploys, services, env vars)"),
245
246
  cliVerb("gh", "drive the GitHub CLI (repos, PRs, issues, releases)"),
package/src/plugins.mjs CHANGED
@@ -53,17 +53,21 @@ export function marketplaceSource(env = process.env) {
53
53
  export const PLUGINS = [
54
54
  {
55
55
  name: "stocks",
56
- version: "0.3.0",
56
+ version: "0.4.0",
57
57
  description: "equity research slash commands backed by advis0r.com",
58
+ // `list` rather than `reports`: one letter from `report` is a coin-flip at
59
+ // the prompt, and `index` would read as a market index in a stocks plugin.
60
+ // The CLI already accepts `moshcode stocks list` as an alias, so the two
61
+ // surfaces still agree.
58
62
  commands: [
59
63
  "/stocks:help", "/stocks:report", "/stocks:quote", "/stocks:lookup",
60
- "/stocks:signals", "/stocks:research", "/stocks:reports", "/stocks:discover",
64
+ "/stocks:signals", "/stocks:research", "/stocks:list", "/stocks:discover",
61
65
  ],
62
66
  example: "/stocks:report NVDA",
63
67
  },
64
68
  {
65
69
  name: "crypto",
66
- version: "0.3.0",
70
+ version: "0.4.0",
67
71
  description: "crypto market data slash commands backed by advis0r.com",
68
72
  commands: [
69
73
  "/crypto:help", "/crypto:report", "/crypto:quote", "/crypto:lookup",
package/src/tools.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  // Adjacent workflow CLIs moshcode can install and transparently invoke.
2
2
  // These are deliberately separate from coding engines: UGig owns marketplace
3
3
  // workflows, CoinPay owns payment workflows, c0mpute owns the compute network,
4
- // the cloud CLIs below own deploys/secrets/infra, and moshcode only conducts
5
- // their native command lines.
4
+ // c0upons owns community coupons and bounties, the cloud CLIs below own
5
+ // deploys/secrets/infra, and moshcode only conducts their native command lines.
6
6
  import { homedir } from "node:os";
7
7
  import path from "node:path";
8
8
  import { fileURLToPath } from "node:url";
@@ -34,6 +34,15 @@ export const TOOLS = {
34
34
  // c0mpute ships via its own install script (the v1 stack installer).
35
35
  install: { cmd: "sh", args: ["-c", "curl -fsSL https://c0mpute.com/install.sh | sh"] },
36
36
  },
37
+ c0upons: {
38
+ desc: "c0upons — community coupon search, submissions, and bounties",
39
+ bin: "c0upons",
40
+ // c0upons ships its own POSIX-sh installer, so `| sh` is enough here (the
41
+ // script avoids bashisms deliberately) — no npm package to install from.
42
+ install: { cmd: "sh", args: ["-c", "curl -fsSL https://c0upons.com/install.sh | sh"] },
43
+ // The CLI updates itself in place from the same origin the installer uses.
44
+ upgrade: { cmd: "c0upons", args: ["upgrade"] },
45
+ },
37
46
  secrets: {
38
47
  desc: "LogicSRC — end-to-end-encrypted team credential sharing (login, teams, credentials)",
39
48
  // The passthrough target is the `logicsrc` binary; the moshcode command is