1.0.0 • Published 10 months ago

@amphore-dev/architect-atomic-structure v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

Architect plugin: Atomic Structure

The architect-atomic-structure plugin extends the Architect CLI tool to help developers structure their projects using the atomic design methodology. This plugin provides a clear and scalable structure for components, pages, utilities, constants, types, hooks, and services, promoting consistency and maintainability across projects.

Features

  • Follows the atomic design principle with support for Atoms, Molecules, Organisms, and Templates.
  • Organizes pages, utilities, constants, types, hooks, and services into their own directories.
  • Automatic generation of index files and sub-index files for easy imports.
  • Customizable directory and naming conventions, including prefixes, suffixes, and case formats.
  • Seamless integration with the Architect CLI for efficient project scaffolding.

Atomic Structure Breakdown

NameTypeOut folder nameDescription
AtomsatomatomsBasic building blocks like buttons or form fields.
MoleculesmoleculemoleculesGroups of atoms that form more complex elements.
OrganismsorganismorganismsComplex structures that combine multiple molecules.
TemplatestemplatetemplatesLayout components that define the structure of pages.
PagespagepagesThe highest level, representing full-page components.
UtilitiesutilutilsHelper functions and classes.
ConstantsconstantconstantsConstants like enums or configuration values.
TypestypetypesType definitions for TypeScript.
HookshookhooksCustom React hooks.
ServicesserviceservicesAPI services or other external services.

Installation

Install the plugin in your project directory using npm or Yarn:

npm install --save-dev @amphore-dev/architect-atomic-structure

or

yarn add --dev @amphore-dev/architect-atomic-structure

Usage

To include the plugin, modify the architect.config.json file in your project directory.

{
    "plugins": ["@amphore-dev/architect-atomic-structure"],
    "outputDir": "src"
}

To avoid conficlts with other plugins, don't forget to add the plugin to the plugins array AFTER all other plugins.

License

This plugin is licensed under the ISC License.