
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
create-built-app
Advanced tools
The official command line tool for creating Built.js themes, plugins and sites.
Most commands work immediately without additional dependencies. However, certain features require Puppeteer to be installed:
update --screenshots)define --url, design --url)If you need these features, install Puppeteer:
npm install puppeteer
Note: Puppeteer downloads Chromium (~150-300MB) on first install, which may take some time. If you don't need screenshot or scraping features, you can skip installing Puppeteer and use the CLI for other commands like publish, init, and setup.
npm publish
The publish command allows you to import a theme or plugin into Built Studio.
npx create-built-app publish [options]
--type
theme or plugin (Default: theme).npx create-built-app publish --type plugin
The update command applies changes you make to the data files in public/data directory of your theme or plugin. It includes options to update screenshots for all sections and specify the port number of the Next.js app.
npx create-built-app update [options]
--plugins
public/data/theme.json.npx create-built-app update --plugins
--screenshots
npm install puppeteer)npx create-built-app update --screenshots
-p, --port <number>
npx create-built-app update --screenshots --port 4000
Screenshots of each of the sections of your theme will be used to display the section in Built Studio. You can automate the creation and hosting of screenshots of your sections:
.env file with your Cloudinary configuration:CLOUDINARY_CLOUD_NAME=your-cloud-name-here
CLOUDINARY_API_KEY=your-api-key-here
CLOUDINARY_API_SECRET=your-secret-here
public/data/sections.json file with your sections:{
"sections": [
{
"name": "heroSection",
"defaultTemplate": {
"name": "cover1"
}
}
]
}
components/templates, ensure you have a template (React component for the section) which has the id with the name of the section's defaultTemplate:// ...
export default function Cover1({ content }: Cover1Props) {
// ...
return (
<section id="cover1">
// ...
</section>
)
}
You can automate the creation of templates (React components for sections) using OpenAI API.
.env file with your OpenAI configuration:OPENAI_API_KEY=your-api-key-here
OPENAI_MODEL=gpt-4 # Optional, defaults to gpt-4
public/data/sections.json file with your sections:{
"sections": [
{
"name": "heroSection",
"description": "A hero section with heading, subheading, and CTA button",
"templates": []
}
]
}
sections.json filecomponents/<category>/templates/public/data/templates.json with the new template metadatasections.jsonGenerate templates in two ways:
--section flag must equal the name of a section in public/data/sections.json.npx create-built-app create template --section <sectionName>
npx create-built-app create template
--section <name>: Section name to use as reference (optional)--prompt <description>: Custom UI description for the template(s)--design-system <type>: Design system to use (options: 'basic' or 'shadcn', defaults to 'basic')You can provide custom UI descriptions in two ways:
npx create-built-app create template --section heroSection --prompt "A modern hero section with gradient background, animated text, and floating elements"
npx create-built-app create template --prompt "Modern, minimalist design with subtle animations and rounded corners"
Choose between two design systems:
npx create-built-app create template --design-system shadcn
Follow the steps below:
npm link
This will create a global symlink to your library.
Make Changes: Edit the TypeScript files in your local library.
Watch and Compile the Changes: Run this to continuously watch for changes to the TypeScript files and recompile:
npm run watch
cd /path/to/your/local/project
Then link the global symlink to your project:
npm link create-built-app
To unlink:
npm unlink -g create-built-app
If you get:
sh: /opt/homebrew/bin/built: Permission denied
You can try unlinking and linking create-built-app, and if that doesn't work, do:
rm -f /opt/homebrew/bin/built
npm install -g create-built-app
If you get:
sh: built: command not found
Do:
npm install -g create-built-app
FAQs
Node.js CLI for building Built.js themes, plugins and sites
We found that create-built-app demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.