nebutra 0.3.1 → 0.3.2
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/dist/index.js +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -738,7 +738,7 @@ Flags:
|
|
|
738
738
|
`));let r=lc(process.execPath,[n],{stdio:"inherit",env:{...process.env}});r.on("close",o=>{o===0?ae.outro(ge.green("MCP server stopped gracefully.")):o===null&&ae.outro(ge.yellow("MCP server terminated.")),process.exit(o??0)}),r.on("error",o=>{s.error(`
|
|
739
739
|
Failed to start MCP server: ${o.message}`),o.code==="ENOENT"&&(s.warn(`
|
|
740
740
|
Tip: Ensure @nebutra/mcp is installed or available in your PATH.`),s.info(" Install globally: npm install -g @nebutra/mcp"),process.exit(c.NOT_FOUND)),process.exit(c.ERROR)}),process.on("SIGINT",()=>{ae.log.info(ge.yellow(`
|
|
741
|
-
Shutting down MCP server...`)),r.kill("SIGINT")}),process.on("SIGTERM",()=>{ae.log.info(ge.yellow("Terminating MCP server...")),r.kill("SIGTERM")})}catch(n){ae.log.error(ge.red("Error: Unable to start MCP server. Ensure @nebutra/mcp is properly installed.")),n instanceof Error&&s.error(n.message),process.exit(c.ERROR)}})}import{promises as Ht}from"fs";import{resolve as vr}from"path";import*as _e from"@clack/prompts";import w from"picocolors";var ue={"ai-saas":{name:"ai-saas",description:"Full-stack AI SaaS platform with auth, billing, and analytics",apps:["web","landing-page","backends/gateway","studio"],features:["billing","ai","search","analytics","sso"],theme:"vibrant",stack:["Next.js 16","Hono","Prisma","PostgreSQL","OpenAI API"]},marketing:{name:"marketing",description:"Marketing website with blog and CMS integration",apps:["landing-page","studio"],features:["blog","growth","analytics","newsletter"],theme:"minimal",stack:["Next.js 16","Sanity CMS","Mailgun"]},dashboard:{name:"dashboard",description:"Enterprise dashboard with admin panel and RBAC",apps:["web","backends/gateway"],features:["billing","admin","analytics","sso"],theme:"dark-dense",stack:["Next.js 16","Hono","Prisma","PostgreSQL"]},overseas:{name:"overseas",description:"Global SaaS with multi-language and localization support",apps:["web","landing-page","backends/gateway"],features:["billing","ai","search","i18n","blog"],theme:"ocean",stack:["Next.js 16","i18next","Hono"]},growth:{name:"growth",description:"Growth-focused platform with community and content",apps:["web","landing-page"],features:["growth","analytics","newsletter","community","blog"],theme:"vibrant",stack:["Next.js 16","Mailgun","Mixpanel"]},creative:{name:"creative",description:"Creative portfolio and landing page builder",apps:["landing-page"],features:["blog","growth"],theme:"gradient",stack:["Next.js 16","Framer Motion"]},"blog-portfolio":{name:"blog-portfolio",description:"Personal blog and portfolio site",apps:["landing-page"],features:["blog"],theme:"minimal",stack:["Next.js 16"]},community:{name:"community",description:"Community platform with real-time features",apps:["web","landing-page"],features:["community","growth","realtime"],theme:"vibrant",stack:["Next.js 16","Hono","Redis","Socket.io"]},"one-person":{name:"one-person",description:"Solo founder landing page and quick launch",apps:["landing-page"],features:["blog"],theme:"minimal",stack:["Next.js 16"]},full:{name:"full",description:"Everything included - all apps and all features",apps:["web","landing-page","backends/gateway","studio","storybook","design-docs","sailor-docs"],features:["billing","ai","ecommerce","web3","community","blog","growth","search","sso","admin","analytics","newsletter","realtime","upload"],theme:"vibrant",stack:["Next.js 16","Hono","Prisma","PostgreSQL","Redis","OpenAI","Web3"]}};async function gc(e){if(e.format==="json"){let t={presets:Object.values(ue).map(n=>({name:n.name,description:n.description,appsCount:n.apps.length,featuresCount:n.features.length,apps:n.apps,features:n.features,theme:n.theme}))};process.stdout.write(JSON.stringify(t,null,2)+`
|
|
741
|
+
Shutting down MCP server...`)),r.kill("SIGINT")}),process.on("SIGTERM",()=>{ae.log.info(ge.yellow("Terminating MCP server...")),r.kill("SIGTERM")})}catch(n){ae.log.error(ge.red("Error: Unable to start MCP server. Ensure @nebutra/mcp is properly installed.")),n instanceof Error&&s.error(n.message),process.exit(c.ERROR)}})}import{promises as Ht}from"fs";import{resolve as vr}from"path";import*as _e from"@clack/prompts";import w from"picocolors";var ue={"ai-saas":{name:"ai-saas",description:"Full-stack AI SaaS platform with auth, billing, and analytics",apps:["web","landing-page","backends/gateway","studio"],features:["billing","ai","search","analytics","sso"],theme:"vibrant",stack:["Next.js 16","Hono","Prisma","PostgreSQL","OpenAI API"]},marketing:{name:"marketing",description:"Marketing website with blog and CMS integration",apps:["landing-page","studio"],features:["blog","growth","analytics","newsletter"],theme:"minimal",stack:["Next.js 16","Sanity CMS","Mailgun"]},dashboard:{name:"dashboard",description:"Enterprise dashboard with admin panel and RBAC",apps:["web","backends/gateway"],features:["billing","admin","analytics","sso"],theme:"dark-dense",stack:["Next.js 16","Hono","Prisma","PostgreSQL"]},overseas:{name:"overseas",description:"Global SaaS with multi-language and localization support",apps:["web","landing-page","backends/gateway"],features:["billing","ai","search","i18n","blog"],theme:"ocean",stack:["Next.js 16","i18next","Hono"]},growth:{name:"growth",description:"Growth-focused platform with community and content",apps:["web","landing-page"],features:["growth","analytics","newsletter","community","blog"],theme:"vibrant",stack:["Next.js 16","Mailgun","Mixpanel"]},creative:{name:"creative",description:"Creative portfolio and landing page builder",apps:["landing-page"],features:["blog","growth"],theme:"gradient",stack:["Next.js 16","Framer Motion"]},"blog-portfolio":{name:"blog-portfolio",description:"Personal blog and portfolio site",apps:["landing-page"],features:["blog"],theme:"minimal",stack:["Next.js 16"]},community:{name:"community",description:"Community platform with real-time features",apps:["web","landing-page"],features:["community","growth","realtime"],theme:"vibrant",stack:["Next.js 16","Hono","Redis","Socket.io"]},minimal:{name:"minimal",description:"Zero-SaaS-dependency local-only baseline (web + iam + db). Boots with `pnpm dev` against a local Postgres \u2014 no Stripe/Clerk/Resend keys required. Built for first-impression demos and offline development.",apps:["web"],features:["iam"],theme:"minimal",stack:["Next.js 16","Prisma","PostgreSQL (local)"]},"one-person":{name:"one-person",description:"Solo founder landing page and quick launch",apps:["landing-page"],features:["blog"],theme:"minimal",stack:["Next.js 16"]},full:{name:"full",description:"Everything included - all apps and all features",apps:["web","landing-page","backends/gateway","studio","storybook","design-docs","sailor-docs"],features:["billing","ai","ecommerce","web3","community","blog","growth","search","sso","admin","analytics","newsletter","realtime","upload"],theme:"vibrant",stack:["Next.js 16","Hono","Prisma","PostgreSQL","Redis","OpenAI","Web3"]}};async function gc(e){if(e.format==="json"){let t={presets:Object.values(ue).map(n=>({name:n.name,description:n.description,appsCount:n.apps.length,featuresCount:n.features.length,apps:n.apps,features:n.features,theme:n.theme}))};process.stdout.write(JSON.stringify(t,null,2)+`
|
|
742
742
|
`),process.exit(c.SUCCESS)}_e.intro(w.bgCyan(w.black(" nebutra preset list "))),s.info(`Available presets:
|
|
743
743
|
`);for(let t of Object.values(ue)){let n=w.bold(t.name),r=w.dim(t.description),o=w.gray(`(${t.apps.length} apps, ${t.features.length} features)`);s.info(`${n} ${o}`),s.info(` ${r}`)}process.exit(c.SUCCESS)}async function yc(e,t){e||(s.error("Please specify a preset name"),s.info("Available presets: "+Object.keys(ue).join(", ")),process.exit(c.INVALID_ARGS));let n=ue[e];n||(s.error(`Preset not found: ${e}`),s.info("Available presets: "+Object.keys(ue).join(", ")),process.exit(c.NOT_FOUND)),t.format==="json"&&(process.stdout.write(JSON.stringify(n,null,2)+`
|
|
744
744
|
`),process.exit(c.SUCCESS)),_e.intro(w.bgCyan(w.black(` nebutra preset show ${e} `))),s.info(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nebutra",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Governance-first CLI for Nebutra Sailor topology scaffolding, registry-backed feature installs, and platform operations.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@clack/prompts": "^0.7.0",
|
|
30
|
-
"@nebutra/theme": "^0.1.0",
|
|
31
30
|
"commander": "^12.1.0",
|
|
32
31
|
"node-fetch": "^3.3.2",
|
|
33
|
-
"picocolors": "^1.1.0"
|
|
32
|
+
"picocolors": "^1.1.0",
|
|
33
|
+
"@nebutra/theme": "0.1.1"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^22.19.15",
|