Create Atomic Design-based Atoms, Molecules, Organisms, Templates, and Pages with matching stories, tests, styles, mocks, interfaces, and barrel exports.

Atomic Bomb is a powerful component generator that creates Atomic Design-based Atoms, Molecules, Organisms, Templates, and Pages with matching stories, tests, styles, mocks, interfaces, and barrel exports. It streamlines the development process by automating the creation of well-structured and maintainable components.

Use Atomic Bomb's CLI to generate components based on the Atomic Design methodology, ensuring a consistent and scalable architecture for your React and React Native projects.
Replace

Automatically generate Storybook stories and test files for each component, enabling you to develop and test your components in isolation.

Atomic Bomb creates matching style files and mock data for your components, helping you maintain a consistent design system across your application.

In this version, Atomic Bomb introduces experimental AI features that leverage natural language processing to enhance the component generation process. These features include the ability to generate components based on descriptive prompts, automatically suggest improvements to existing components, and provide insights into potential design inconsistencies. While these AI capabilities are still in the early stages of development, they represent a significant step towards making Atomic Bomb an even more powerful tool for developers looking to create scalable and maintainable component libraries.
Warning: The AI features in Atomic Bomb v7.0.x are experimental and may produce inconsistent results. Use them with caution and always review the generated code for accuracy and maintainability.
Generate Atomic Design-based Atoms, Molecules, Organisms, Templates, and Pages with matching stories, tests, styles, mocks, interfaces, and barrel exports.
The new experimental AI features in Atomic Bomb v7.0.x leverage natural language processing to enhance the component generation process, allowing developers to create components based on descriptive prompts.
Atomic Bomb is a small CLI for generating React project structure from atomic design and DDD-style conventions.
It can create:
> **Important** > This tool is for educational purposes.
Or install it in a project:
You can also run it with
Run Atomic Bomb from the root of a project with a
The CLI checks the configured
Configure the platform:
Create a component:
After the first configuration,
Platforms are pulled from the template repository configured in
Use:
This writes or updates
Available platforms depend on the template repository. See [atomic-bomb-templates](https://github.com/ReneKrewinkel/atomic-bomb-templates).
Atomic Bomb creates a
Example:
Fields:
Atomic Bomb normalizes names by type.
Component and container types use
Non-component file types use
Examples:
Existing
Generated output uses icons for the newer structure types:
Create one component:
Create multiple components:
Create a multi-word component:
Atomic components are created in:
Example output for a React TypeScript component:
Atomic directory indexes are created for each component bucket:
When
Create hooks next to
Output:
The generated file contains:
Create shared lib files next to
Output:
The generated file contains:
Create a domain directory next to
Output:
Create a subdomain inside a domain:
If the domain does not exist, it is created.
Output:
The subdomain
Use
Atomic component types go into the subdomain
Example:
Scoped domain file types go into their matching folders:
Examples:
Each folder index is updated:
Scoped generation repairs missing subdomain index files when the subdomain already exists.
Remove generated items by name:
The remove command scans generated
Export the current generated structure as JSON:
This exports the directory structure, not file contents.
Example:
Create all items listed in a structure file:
The JSON is validated with Zod before generation. Invalid files stop with an error.
Scoped items must use:
Subdomains use a domain-only
Run the test suite directly:
Check syntax directly:
Format files:
Run tests:
Before publishing:
Publish:
If publishing from GitHub Actions, make sure the publish workflow trigger matches the release flow. A job guarded by:
will be skipped on normal
GPL-1.0-only