dewctl 0.6.2 → 0.6.3
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/examples/AGENTS.md +6 -6
- package/examples/starter/package.json +1 -1
- package/package.json +1 -1
- package/src/command.js +1 -1
- package/src/main.js +2 -2
- package/src/project.js +2 -2
package/examples/AGENTS.md
CHANGED
|
@@ -93,10 +93,10 @@ in its dev version; there is no local preview.
|
|
|
93
93
|
3. **Descriptions:** say what each thing is and what it's made of, in the style's words.
|
|
94
94
|
4. **Style prompt:** set the prompt for the whole game, and the sky.
|
|
95
95
|
|
|
96
|
-
After each step, upload
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
plain and grey.
|
|
96
|
+
After each step, upload with `npm run dev`: it builds the game, uploads it and prints the link to play it on
|
|
97
|
+
Dewdrop. Upload when there is something to check, not after every edit. If the user runs `npx dewctl dev --watch`,
|
|
98
|
+
every save uploads by itself, so don't upload as well: both build into the same folder. Judge the look there, in
|
|
99
|
+
motion, not from a still frame. The first second is plain and grey.
|
|
100
100
|
|
|
101
101
|
You can't see Dewdrop's frames. Ask the user specific questions ("Does the lantern glow?", "What does the sky look
|
|
102
102
|
like?"), or ask for a screenshot. In the dev version, `dewdrop.evaluate` runs code in the game from the browser
|
|
@@ -108,8 +108,8 @@ at a time, so you know what each change did.
|
|
|
108
108
|
|
|
109
109
|
- `dewdrop.json` connects the folder to the game: its name, the build command, the folder the build writes, and
|
|
110
110
|
the thumbnail ([dewdrop.json](https://alpha.dewdrop.world/docs/dewdrop-json)).
|
|
111
|
-
- `npm run dev`
|
|
112
|
-
|
|
111
|
+
- `npm run dev` uploads the game to its dev version on Dewdrop once; `npx dewctl dev --watch` uploads it again on
|
|
112
|
+
every save. `npx dewctl status` shows both versions. Run `npx dewctl publish` only when the user asks: it puts the game
|
|
113
113
|
in front of players ([commands](https://alpha.dewdrop.world/docs/cli)).
|
|
114
114
|
- `LOOK.md` is the agreed look. In a starter game, README.md says how the game works and why its look works.
|
|
115
115
|
Read both first.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "my-game",
|
|
3
3
|
"private": true,
|
|
4
4
|
"type": "module",
|
|
5
|
-
"scripts": { "dev": "dewctl dev
|
|
5
|
+
"scripts": { "dev": "dewctl dev", "build": "vite build" },
|
|
6
6
|
"dependencies": { "three": "0.185.1" },
|
|
7
7
|
"devDependencies": { "vite": "^8" }
|
|
8
8
|
}
|
package/package.json
CHANGED
package/src/command.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// How the developer runs this CLI, for the commands its messages suggest: through npx when npx or an npm script
|
|
2
|
-
// (`npm run dev`, which runs `dewctl dev
|
|
2
|
+
// (`npm run dev`, which runs `dewctl dev`) started it, else by name.
|
|
3
3
|
export const RUN=['exec','run','run-script'].includes(process.env.npm_command)?'npx dewctl':'dewctl';
|
package/src/main.js
CHANGED
|
@@ -97,8 +97,8 @@ async function main() {
|
|
|
97
97
|
if(command==='init') {
|
|
98
98
|
const config=await initProject(process.cwd(),flags.game,flags.template,process.stdin.isTTY&&process.stdout.isTTY?chooseTemplate:undefined);
|
|
99
99
|
const run=RUN;
|
|
100
|
-
if(config.starter)console.log(`Set up ${config.game} here. Next:\n npm install\n ${run} login\n npm run dev\nnpm run dev builds the game, uploads it to Dewdrop and prints a link to play it
|
|
101
|
-
else console.log(`Created dewdrop.json for ${config.game}. Next: ${run} login, then ${run} dev
|
|
100
|
+
if(config.starter)console.log(`Set up ${config.game} here. Next:\n npm install\n ${run} login\n npm run dev\nnpm run dev builds the game, uploads it to Dewdrop and prints a link to play it; the game is created on Dewdrop the first time. Run it again to upload a change, or ${run} dev --watch to upload on every save.${config.template==='blank'?'':'\nRead README.md: how the game works and why its look works.'}\nAGENTS.md tells coding agents how to work on the game, starting with agreeing its look with you.`);
|
|
101
|
+
else console.log(`Created dewdrop.json for ${config.game}. Next: ${run} login, then ${run} dev. To make npm run dev upload it to Dewdrop, set package.json's dev script to dewctl dev.`);
|
|
102
102
|
if(!config.starter&&config.buildScript)console.log(`Building for Dewdrop with npm run ${config.buildScript}, which must run vite build with the Dewdrop plugin in vite.config.js.`);
|
|
103
103
|
if(!config.starter&&!config.buildScript)console.log('No build script is in package.json, so dewdrop.json builds with npm run build. Add one that runs vite build with the Dewdrop plugin in vite.config.js, or set "build" in dewdrop.json to your own command.');
|
|
104
104
|
return;
|
package/src/project.js
CHANGED
|
@@ -156,7 +156,7 @@ export async function build(project, signal) {
|
|
|
156
156
|
});
|
|
157
157
|
}
|
|
158
158
|
// The one project shape: a Vite project with the SDK's plugin, which builds for Dewdrop with `npm run build`
|
|
159
|
-
// and
|
|
159
|
+
// and uploads to its dev version with `npm run dev`, which runs `dewctl dev`. A directory holding none of the starter's
|
|
160
160
|
// files gets a new game, depending on the SDK and this CLI from npm; one holding any of them has a game of its own
|
|
161
161
|
// and gets dewdrop.json alone, so nothing of it is touched and no new game is left half written.
|
|
162
162
|
const STARTER_FILES=['package.json','src','index.html','vite.config.js'];
|
|
@@ -166,7 +166,7 @@ const SDK_RANGE='^0.6.0';
|
|
|
166
166
|
const CLI_RANGE=`^${JSON.parse(readFileSync(new URL('../package.json',import.meta.url),'utf8')).version}`;
|
|
167
167
|
// The games a new one can start from: Blank, which ships with this CLI, and the starter games in the public
|
|
168
168
|
// starter-templates repository, a folder each, at the commit this release pins.
|
|
169
|
-
const STARTERS={repo:'DewdropLabs/starter-templates',commit:'
|
|
169
|
+
const STARTERS={repo:'DewdropLabs/starter-templates',commit:'32e121d3e9431c38ab24f8e3b92d3f65dc4f9c9d'};
|
|
170
170
|
const TEMPLATES={
|
|
171
171
|
blank:['Blank','a cube and a style prompt, the smallest game'],
|
|
172
172
|
'golden-glide':['Golden Glide','flight over golden-hour countryside, in gouache'],
|