npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

create-bembajs

v1.3.0

Published

Create BembaJS apps with one command (like create-next-app) - Now with control flow syntax and Chakra UI support

Downloads

29

Readme

create-bembajs

npm version License: MIT

create-bembajs - Create BembaJS apps with one command (like create-next-app) 🇿🇲

🚀 Quick Start

Using npm

npm create bembajs@latest my-app

Using npx

npx create-bembajs my-app

Using Bun

bun create bembajs my-app

📋 Interactive Prompts

When you run create-bembajs, you'll be prompted with:

? What is your project name? › my-app
? Which template would you like to use? › Base (Recommended)
? Would you like to use TypeScript? › No
? Would you like to install dependencies? › Yes
? Would you like to initialize git? › Yes
? Would you like to open in VS Code? › Yes

🎯 Available Templates

Base (Recommended)

A basic BembaJS application with:

  • Home page (amapeji/index.bemba)
  • About page (amapeji/about.bemba)
  • Button component (ifikopo/Button.bemba)
  • Card component (ifikopo/Card.bemba)
  • Hello API route (maapi/hello.bemba)

Dashboard

An admin dashboard template with:

  • Dashboard layout
  • Analytics components
  • Data tables
  • Charts and graphs
  • User management

E-commerce

An online store template with:

  • Product catalog
  • Shopping cart
  • Checkout process
  • User authentication
  • Payment integration

Blog

A content management template with:

  • Article listing
  • Individual post pages
  • Author profiles
  • Comment system
  • Search functionality

🏗️ Generated Project Structure

my-app/
├── amapeji/              # Pages (like Next.js pages/)
│   ├── index.bemba       # Home page
│   └── about.bemba       # About page
├── ifikopo/              # Components (like Next.js components/)
│   ├── Button.bemba      # Reusable button
│   └── Card.bemba        # Reusable card
├── maapi/                # API routes (like Next.js api/)
│   ├── hello.bemba       # Hello API
│   └── users.bemba       # Users API
├── maungu/               # Static files (like Next.js public/)
│   ├── logo.png          # BembaJS logo
│   └── style.css         # Global styles
├── .vscode/              # VS Code configuration
│   ├── settings.json     # Editor settings
│   ├── extensions.json   # Recommended extensions
│   └── launch.json       # Debug configuration
├── bemba.config.js       # BembaJS configuration
├── package.json          # Project dependencies
└── README.md             # Project documentation

⚙️ Configuration Options

Project Name

  • Required: Yes
  • Description: Name of your BembaJS project
  • Example: my-awesome-app

Template Selection

  • Base: Basic application structure
  • Dashboard: Admin dashboard with analytics
  • E-commerce: Online store template
  • Blog: Content management system

TypeScript Support

  • Default: No
  • Description: Enable TypeScript for type safety
  • Files: Adds .ts support and type definitions

Dependency Installation

  • Default: Yes
  • Description: Automatically install npm dependencies
  • Command: Runs npm install after project creation

Git Initialization

  • Default: Yes
  • Description: Initialize git repository
  • Command: Runs git init and creates initial commit

VS Code Integration

  • Default: Yes
  • Description: Open project in VS Code after creation
  • Command: Runs code . to open project

🎨 Custom Templates

You can create custom templates by:

  1. Creating template directory:
mkdir templates/my-template
  1. Adding template files:
templates/my-template/
├── amapeji/
├── ifikopo/
├── maapi/
├── maungu/
├── package.json
└── README.md
  1. Updating template list:
const templates = [
  { name: 'Base', value: 'base' },
  { name: 'Dashboard', value: 'dashboard' },
  { name: 'E-commerce', value: 'ecommerce' },
  { name: 'Blog', value: 'blog' },
  { name: 'My Template', value: 'my-template' } // Add your template
];

🔧 Advanced Usage

Programmatic Usage

const createBembaApp = require('create-bembajs');

await createBembaApp({
  name: 'my-app',
  template: 'base',
  typescript: false,
  install: true,
  git: true,
  vscode: false
});

Custom Options

# Skip prompts with flags
npx create-bembajs my-app --template dashboard --typescript --no-install

# Available flags:
--template <name>    # Template to use
--typescript         # Enable TypeScript
--no-install         # Skip dependency installation
--no-git             # Skip git initialization
--no-vscode          # Skip VS Code opening

📦 Dependencies

The generated project includes:

Core Dependencies

  • bembajs - Main framework
  • bembajs-core - Compiler engine
  • react - UI library
  • react-dom - DOM rendering

Development Dependencies

  • @types/react - TypeScript types (if TypeScript enabled)
  • @types/react-dom - TypeScript types (if TypeScript enabled)
  • eslint - Code linting
  • prettier - Code formatting

🚀 Next Steps

After creating your project:

  1. Navigate to project:
cd my-app
  1. Start development server:
npm run dev
# or
bemba tungulula
  1. Build for production:
npm run build
# or
bemba akha
  1. Deploy:
npm run deploy

🔗 Related Packages

📄 License

MIT License - see LICENSE file for details.

🤝 Contributing

We welcome contributions! Please see our Contributing Guide.


Made with ❤️ in Zambia 🇿🇲