Publish snapshot / snapshot (push) Successful in 1m17s
Gathers id, name and directory from flags or prompts (only what the flags do not supply), then writes manifest.mjs + deploy.py from templates under src/templates/cube. Templates are named *.example.* so the template directory itself can never match the loader's manifest+deploy pair rule. The scaffold refuses a directory that already holds cube files by the loader's own patterns, checks the id against the loaded cube set (best effort, exempting the target directory so --force re-scaffolds work), and warns when the target lands outside every configured cube directory. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ApuW1MMGK2pUQ9mTVRTxc5
16 lines
468 B
JavaScript
16 lines
468 B
JavaScript
import { Manifest } from '@bitsquare/nopy-cubes';
|
|
import { z } from 'zod';
|
|
|
|
export default Manifest({
|
|
id: '__CUBE_ID__',
|
|
name: '__CUBE_NAME__',
|
|
// dependencies: () => ['apt:essentials'], // cubes to deploy first
|
|
// secrets: ['API_TOKEN'], // schema keys to mask and never persist
|
|
schema: z.object({
|
|
GREETING: z
|
|
.string()
|
|
.describe('Message the deploy prints on the host')
|
|
.default('hello from __CUBE_ID__'),
|
|
}),
|
|
});
|