# OrdoJS Framework

[![Version](https://img.shields.io/badge/version-0.5.0--beta.1-blue.svg)](https://github.com/Piggzy76/OrdoJS)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Node.js](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org/)
[![pnpm](https://img.shields.io/badge/pnpm-%3E%3D8.0.0-orange.svg)](https://pnpm.io/)

> **A revolutionary web framework with compile-time optimizations and unified client-server
> development**

**Status: Beta - Not recommended for production use**

## 🚀 Quick Start

### Installation

```bash
# Install the OrdoJS CLI globally
npm install -g @ordojs/cli@beta

# Or using pnpm (recommended)
pnpm add -g @ordojs/cli@beta
```

### Create Your First Project

```bash
# Create a new OrdoJS project
ordojs init my-app

# Navigate to your project
cd my-app

# Start the development server
ordojs dev
```

Visit `http://localhost:3000` to see your application running!

## ✨ Features

- **🔧 Compile-time Optimizations** - Advanced code analysis and optimization at build time
- **🌐 Unified Client-Server Development** - Write once, run everywhere
- **⚡ Lightning Fast** - Optimized for performance with minimal runtime overhead
- **🎨 Beautiful UI Components** - Built-in component library with stunning visuals
- **🛠️ TypeScript First** - Full TypeScript support with excellent type inference
- **📦 Monorepo Architecture** - Scalable package structure for enterprise applications
- **🔍 Hot Module Replacement** - Instant feedback during development
- **📱 Responsive Design** - Mobile-first approach with adaptive layouts

## 📦 Project Structure

```
ordojs/
├── packages/
│   ├── cli/          # Command-line interface
│   ├── core/          # Core compiler and runtime
│   ├── docs/          # Documentation site
│   └── vscode-extension/ # VS Code extension
├── examples/          # Example applications
└── tests/            # Test suites
```

## 🛠️ Development

### Prerequisites

- Node.js >= 18.0.0
- pnpm >= 8.0.0

### Setup

```bash
# Clone the repository
git clone https://github.com/Piggzy76/OrdoJS.git
cd ordojs

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test
```

### Available Scripts

```bash
# Development
pnpm dev          # Start development server
pnpm build        # Build all packages
pnpm test         # Run test suite
pnpm test:watch   # Run tests in watch mode

# Code Quality
pnpm lint         # Run ESLint
pnpm lint:fix     # Fix linting issues
pnpm format       # Format code with Prettier
pnpm typecheck    # Run TypeScript type checking

# Maintenance
pnpm clean        # Clean build artifacts
```

## 📚 Documentation

- [Installation Guide](packages/docs/src/guide/installation.md)
- [Quick Start](packages/docs/src/guide/quick-start.md)
- [API Reference](packages/docs/src/api/)
- [Migration Guide](packages/docs/src/migration/)

## 🎯 CLI Commands

```bash
# Project Management
ordojs init <project-name>    # Create a new project
ordojs dev                    # Start development server
ordojs build                  # Build for production
ordojs deploy                 # Deploy to hosting platform

# Development Tools
ordojs test                   # Run test suite
ordojs lint                   # Lint code
ordojs format                 # Format code

# Information
ordojs version                # Show detailed version info
ordojs --help                 # Show help information
```

## 🔧 Configuration

OrdoJS uses a simple configuration file (`ordojs.config.js`) for project settings:

```javascript
export default {
  // Build configuration
  build: {
    outDir: 'dist',
    minify: true,
    sourcemap: true,
  },

  // Development server
  dev: {
    port: 3000,
    host: 'localhost',
  },

  // Compiler options
  compiler: {
    target: 'es2020',
    module: 'esnext',
  },
};
```

## 🤝 Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

### Development Setup

1. Fork the repository
2. Create a feature branch: `git checkout -b feature/amazing-feature`
3. Make your changes
4. Run tests: `pnpm test`
5. Commit your changes: `git commit -m 'Add amazing feature'`
6. Push to the branch: `git push origin feature/amazing-feature`
7. Open a Pull Request

## 📄 License

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

## 🆘 Support

- 📖 [Documentation](https://ordojs.com)
- 🐛 [Issue Tracker](https://github.com/Piggzy76/OrdoJS/issues)
- 💬 [Discussions](https://github.com/Piggzy76/OrdoJS/discussions)
- 📧 [Email Support](mailto:support@ordojs.com)

## ��️ Roadmap

- [ ] **v0.6.0** - Enhanced component library
- [ ] **v0.7.0** - Advanced debugging tools
- [ ] **v0.8.0** - Plugin system
- [ ] **v1.0.0** - Production ready release

## 🙏 Acknowledgments

- Built with ❤️ by the OrdoJS Framework Team
- Inspired by modern web development practices
- Powered by TypeScript and Node.js

---

**Version:** 0.5.0-beta.1 **Last Updated:** December 2024 **Status:** Beta - Active Development
