mcpill 1.1.0 → 1.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +78 -10
  3. package/dist/cli.js +345 -129
  4. package/package.json +1 -1
  5. package/src/__tests__/init.test.ts +17 -16
  6. package/src/__tests__/pack.test.ts +1 -1
  7. package/src/__tests__/validate.test.ts +5 -5
  8. package/src/commands/compile.ts +20 -32
  9. package/src/commands/init.ts +305 -81
  10. package/src/commands/pack.ts +1 -15
  11. package/src/commands/run.ts +16 -12
  12. package/src/commands/validate.ts +3 -14
  13. package/src/compiler/parse.ts +2 -2
  14. package/src/compiler/serialize.ts +4 -4
  15. package/.claude/commands/add-card.md +0 -9
  16. package/.claude/commands/append-card.md +0 -10
  17. package/.claude/commands/play-card.md +0 -14
  18. package/.claude/commands/turn.md +0 -28
  19. package/.claude/settings.json +0 -10
  20. package/.flowdeck/.flowdeckignore +0 -5
  21. package/.flowdeck/AGENT.md +0 -46
  22. package/.flowdeck/TODO.md.template +0 -14
  23. package/.flowdeck/_discard/start/DISCARD.md +0 -8
  24. package/.flowdeck/_discard/start/TODO.md +0 -35
  25. package/.flowdeck/_discard/start/turn.log +0 -28
  26. package/.flowdeck/_energy/ADR.md.template +0 -100
  27. package/.flowdeck/_energy/CLAUDE.md.template +0 -95
  28. package/.flowdeck/_energy/GENERALINSIGHTS.md.template +0 -57
  29. package/.flowdeck/_energy/MISSION.md.template +0 -89
  30. package/.flowdeck/_energy/OPEN-QUESTIONS.md.template +0 -109
  31. package/.flowdeck/_energy/PROJECTINSIGHTS.md.template +0 -64
  32. package/.flowdeck/_energy/SPEC.md.template +0 -101
  33. package/.flowdeck/_frozen/FROZEN.md +0 -4
  34. package/.flowdeck/_meld/MELD.md +0 -4
  35. package/.flowdeck/_stock/STOCK.md +0 -4
  36. package/.flowdeck/reframe/TODO.md +0 -71
  37. package/FLOWDECK.md +0 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.1
4
+
5
+ - All init assets scoped under `.mcpill/` — only `PILL.md` is written to the project root
6
+ - `mcpill init` scaffolds `pill-user-guide.md` inside `.mcpill/` — covers quickstart, project layout, and manual tool editing; replaces any need for a root-level README
7
+ - `HELLO-MCP.md` added to `.mcpill/` — a ready-to-run example developers can copy into `PILL.md`
8
+
9
+ ## 1.2.0
10
+
11
+ - `mcpill init` now scaffolds `PILL.md` — an intent-level spec the developer fills in plain English
12
+ - `mcpill init` generates `pill-agent-guide.md` with the full agent instructions for building from `PILL.md`
13
+ - `PILL.md` references `pill-agent-guide.md`; tell Claude "Build this PILL.md" to generate source files and compile
14
+ - Example source files (`tools/echo.md`, `prompts/greeting.md`, `server.md`) still scaffolded for direct editing
15
+ - Removed `tools.js`, `prompts.json`, `resources.md` from `.mcpill/` initial scaffold (generated by `mcpill compile`)
16
+ - Updated `mcpill init` console output to guide both entry points
17
+
3
18
  ## 1.1.0
4
19
 
5
20
  - Renamed to `mcpill`; `@ruco-ai/mcpill` deprecated — install `mcpill` instead
package/README.md CHANGED
@@ -10,28 +10,44 @@ CLI for building, validating, and publishing MCP servers using the pill format.
10
10
  npm install -g mcpill
11
11
  ```
12
12
 
13
- ## Author workflow
13
+ ## Workflows
14
+
15
+ ### PILL-first (recommended for new servers)
16
+
17
+ Describe your server in plain English, let Claude generate the source files.
18
+
19
+ ```
20
+ mcpill init # scaffolds PILL.md + example source files
21
+ # fill PILL.md # describe your server: tools, resources, prompts
22
+ # tell Claude: "Build this PILL.md" # agent generates source files + runs compile
23
+ mcpill run # start the server
24
+ ```
25
+
26
+ `PILL.md` embeds the agent instructions — Claude knows exactly what to generate and how.
27
+
28
+ ### Direct edit (for devs who know the pill format)
14
29
 
15
30
  ```
16
- mcpill init # scaffold server.md + tools/ + prompts/
17
- # write your tools, prompts, resources
18
- mcpill compile # compile server.md.<name>/ pill artifact
19
- mcpill validate # validate the pill artifact
20
- mcpill run # start the MCP server locally (dev)
21
- mcpill pack # prepare bin/server.js + package.json for npm
22
- mcpill publish # pack + npm publish
31
+ mcpill init # scaffolds server.md + tools/ + prompts/
32
+ # edit source files # tools/*.md, prompts/*.md, server.md
33
+ mcpill compile # compile source.{name}/ pill artifact
34
+ mcpill run # start the server
23
35
  ```
24
36
 
37
+ ---
38
+
25
39
  ## Commands
26
40
 
27
41
  ### `mcpill init`
28
42
 
29
43
  Scaffolds a new project in the current directory:
30
44
 
31
- - `server.md` — Config + Resources in human-readable Markdown
45
+ - `README.md` — quickstart guide for the scaffolded project
46
+ - `PILL.md` — intent-level spec; fill this and hand to Claude to generate source files
47
+ - `pill-agent-guide.md` — agent instructions read by Claude when building from `PILL.md`
48
+ - `server.md` — server config + resources
32
49
  - `tools/echo.md` — example tool
33
50
  - `prompts/greeting.md` — example prompt
34
- - `.mcpill/` — pre-compiled pill artifact
35
51
  - `package.json` — with `pack` and `publish` scripts ready
36
52
 
37
53
  ### `mcpill compile`
@@ -83,3 +99,55 @@ mcpill publish --access restricted
83
99
  ## Options
84
100
 
85
101
  All commands accept `--dir <path>` to target a directory other than the current working directory.
102
+
103
+ ## Pill source format
104
+
105
+ ### `server.md`
106
+
107
+ ```markdown
108
+ ## Config
109
+ name: my-server
110
+ transport: stdio
111
+
112
+ ## Resources
113
+ uri: info://status
114
+ name: Status
115
+ ---
116
+ The server is running.
117
+ ```
118
+
119
+ ### `tools/{name}.md`
120
+
121
+ ```markdown
122
+ # tool-name
123
+
124
+ Description of what the tool does
125
+
126
+ ## Parameters
127
+
128
+ - param (string): Description of the parameter
129
+
130
+ ## Handler
131
+
132
+ \`\`\`js
133
+ async ({ param }) => {
134
+ return { content: [{ type: "text", text: param }] };
135
+ }
136
+ \`\`\`
137
+ ```
138
+
139
+ ### `prompts/{name}.md`
140
+
141
+ ```markdown
142
+ # prompt-name
143
+
144
+ Description of the prompt
145
+
146
+ ## Args
147
+
148
+ - name (string): The name to greet
149
+
150
+ ## Message
151
+
152
+ > user: Say hello to {{name}}
153
+ ```