SkyCosmic 🚀

Pub Version License Dart SDK

SkyCosmic is a professional Flutter package designed to streamline UI development. It provides a robust CLI tool and a collection of ready-to-use, customizable UI component templates, enabling developers to rapidly build consistent and beautiful interfaces.

✨ Features

  • ⚡ CLI Support: Built-in command-line interface to generate components instantly.
  • 🎨 Pre-designed Templates: Includes templates for common UI elements like Buttons, Cards, and ListTiles.
  • 🛠️ Automated Boilerplate: Saves time by automatically generating component files with necessary imports and structure.
  • 📦 Easy Integration: Simple commands to add components directly to your project's lib/components directory.
  • 📦 Easy Build UI: Simple commands to add components directly to your project's lib/ui directory.

🚀 Installation

To use the skycosmic command anywhere in your terminal, activate it globally.

From Pub.dev (if published):

dart pub global activate skycosmic

Add as Dependency

To use the library symbols in your project, add it to your pubspec.yaml:

dependencies:
  skycosmic: <latest-version>

Or run:

flutter pub add skycosmic

📖 Usage

Using the CLI

The SkyCosmic CLI allows you to generate new components effortlessly.

Syntax:

skycosmic create <ComponentName>

Examples:

Create a UI Screen

To generate a full UI screen (e.g., Login, Profile):

skycosmic create login

This will create lib/ui/sky_cosmic_login.dart.

Generate a standard Button component:

skycosmic create Button

Creates lib/components/button.dart from the Button template.

Generate a Card component:

skycosmic create Card

Creates lib/components/card.dart from the Card template.

Generate a ListTile component:

skycosmic create Listile

Creates lib/components/listile.dart from the ListTile template.

Note: The CLI generates components using bundled templates (bundled in lib/templates.dart). If no specific template matches your request, it defaults to the Button template.

📂 Project Structure

  • bin/: Contains the CLI entry point (skycosmic.dart).
  • lib/:
    • skycosmic.dart: Core library and generator logic.
    • components/: Generated components will be placed here by the CLI.
  • templates/: Source Dart templates (.tpl) used for generation.
    • button.dart.tpl
    • card.dart.tpl
    • listile.dart.tpl

🤝 Contributing

Contributions are welcome! If you'd like to improve SkyCosmic or add new templates:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details. createBy © Rizaldi Naldian Putra