🚀 Genie is a powerful super agent built with modern technologies, designed to revolutionize how we interact with AI systems. This innovative engine combines the best of frontend and backend technologies to create an intelligent, responsive, and scalable platform.
Genie is a Generative Innovative Engine - a super agent that leverages cutting-edge AI technologies to provide intelligent solutions and seamless user experiences. Built on a robust Nx monorepo architecture, Genie offers:
- 🧠 Intelligent Processing: Advanced AI capabilities for complex problem-solving
- 🔄 Real-time Interactions: Fast, responsive user interfaces
- 🏗️ Scalable Architecture: Built with modern microservices and frontend frameworks
- 🛡️ Enterprise Ready: Robust backend with security and performance optimizations
- 🎯 User-Centric Design: Intuitive interfaces that adapt to user needs
Learn more about this workspace setup and its capabilities or run npx nx graph to visually explore the project architecture.
Click here to finish setting up your workspace!
Genie is built using a modern monorepo structure with the following components:
- Frontend (
apps/genie-frontend): React-based user interface with modern tooling - Backend (
apps/genie-backend): Go-based API server with robust data handling - Shared Libraries (
libs/shared): Common utilities and database connectors - Enums (
libs/enums): Shared type definitions and constants
First, install all dependencies at the root level:
npm installTo run the frontend application:
npx nx run apps/genie-frontend:serveTo run the backend application:
npx nx run apps/genie-backend:serveTo build the frontend application:
npx nx build genie-frontendTo build the backend application:
npx nx build genie-backendTo run tests for all projects:
npx nx run-many --target=test --allTo run any task with Nx use:
npx nx <target> <project-name>These targets are either inferred automatically or defined in the project.json or package.json files.
More about running tasks in the docs »
To version and release the Genie super agent:
npx nx release
Pass --dry-run to see what would happen without actually releasing the application.
Genie is designed for enterprise deployment with:
- Containerized applications for easy scaling
- Environment-specific configurations
- Automated CI/CD pipeline integration
- Health monitoring and logging
Nx automatically updates TypeScript project references in tsconfig.json files to ensure they remain accurate based on your project dependencies (import or require statements). This sync is automatically done when running tasks such as build or typecheck, which require updated references to function correctly.
To manually trigger the process to sync the project graph dependencies information to the TypeScript project references, run the following command:
npx nx syncYou can enforce that the TypeScript project references are always in the correct state when running in CI by adding a step to your CI job configuration that runs the following command:
npx nx sync:checkNx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code, and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ.
- React with TypeScript for type-safe development
- Vite for fast development and building
- Tailwind CSS for modern, responsive styling
- ESLint for code quality and consistency
- Go for high-performance API development
- Gin framework for HTTP routing and middleware
- MongoDB for flexible data storage
- JWT for secure authentication
- Nx for monorepo management and task orchestration
- TypeScript for type safety across the stack
- ESLint and Prettier for code formatting
- Git for version control
We welcome contributions to make Genie even more powerful! Please see our contributing guidelines and code of conduct.
- Learn more about this workspace setup
- Learn about Nx on CI
- Releasing Packages with Nx release
- What are Nx plugins?
Genie - Generative Innovative Engine | Empowering the future with intelligent super agents