# Lidhium JS

A modern micro-frontend development tool for Vue.js applications.

[![Website](https://img.shields.io/badge/Website-lidhiumjs.com-blue?style=flat&logo=web)](https://lidhiumjs.com)
[![npm version](https://img.shields.io/npm/v/@lidhium/cli.svg)](https://www.npmjs.com/package/@lidhium/cli)
[![License: GPL-3.0](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Downloads](https://img.shields.io/npm/dm/@lidhium/cli.svg)](https://www.npmjs.com/package/@lidhium/cli)
[![GitHub issues](https://img.shields.io/github/issues/lidhishc/lidhiumjs)](https://github.com/lidhishc/lidhiumjs/issues)
[![Discord](https://img.shields.io/badge/Discord-Join%20Chat-7289da?logo=discord&logoColor=white)](https://discord.gg/AUEUdtY2yJ)

## Website

Visit [lidhiumjs.com](https://lidhiumjs.com) for:

- 📚 Comprehensive documentation and guides
- 💡 Best practices and architecture patterns
- 🎓 Tutorials and examples
- 🔧 Configuration references
- 🚀 Getting started guides
- 👥 Community resources

## Features

- 🚀 Quick setup for micro-frontend applications
- 🛠 Supports Vue3
- 📦 Built-in Webpack configuration
- 🔄 Seamless module federation
- 📈 Scalable architecture for growing applications
- ⚙️ Single configuration file for all apps

## Installation

```bash
npm install -g @lidhium/cli
```

## Usage

### Create a new project

```bash
lidhium init my-app
```

### Generate a new micro-frontend app

```bash
lidhium generate app-name 3000
```

> **Note:** The first app you generate will always be of type `host`.

### Start Micro App

```bash
yarn start app-name
```

### Build for production

```bash
yarn build app-name
```

### Start Dev-Tool

```bash
yarn dev-tool
```

## Commands

| Command    | Description                       |
| ---------- | --------------------------------- |
| `init`     | Initialize a new project          |
| `generate` | Generate a new micro-frontend app |
| `start`    | Start development server          |
| `build`    | Build for production              |
| `expose`   | Expose components from the app    |
| `bind`     | Bind other micro-frontend app     |
| `dev-tool` | Start dev-tool                    |

> **Note:** The `expose` and `bind` commands should be run inside the micro-frontend app folder.

## Support

- Vue3
- Webpack

## Contributing

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

## License

This project is licensed under the GPL-3.0 License - see the [LICENSE](LICENSE) file for details.

## Author

[Lidhish C](https://github.com/lidhishc)

## Links

- [NPM Package](https://www.npmjs.com/package/@lidhium/cli)
- [GitHub Repository](https://github.com/lidhishc/lidhiumjs)
- [Issues](https://github.com/lidhishc/lidhiumjs/issues)
