A modern, cross-platform terminal application built with Tauri, NuxtJS, and TailwindCSS. Nebula Terminal combines the power of Rust for system-level operations with the flexibility of Vue.js for a beautiful, responsive user interface.
- Backend: Rust with Tauri 2.6.0
- Frontend: NuxtJS 3.17.5 (Vue.js 3.5.17)
- Styling: TailwindCSS 4.1.10
- Terminal: xTerm.js (planned integration)
- Database: SurrealDB (planned integration)
- Build Tool: Vite
- Package Manager: npm
- Cross-platform: Runs on Windows, macOS, and Linux
- Modern UI: Beautiful gradient design with glassmorphism effects
- Fast Performance: Rust backend for system operations
- Responsive Design: TailwindCSS-powered responsive interface
- Hot Reload: Instant development feedback with NuxtJS HMR
- Type Safety: Full TypeScript support
- Terminal Integration: xTerm.js for advanced terminal capabilities
- Database Integration: SurrealDB for data persistence
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- Rust (latest stable version)
- npm or yarn
- Git
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shVisit nodejs.org or use a version manager like nvm.
-
Clone the repository
git clone https://github.com/ibourgeois/nebula.git cd nebula -
Install dependencies
# Install Node.js dependencies npm install # Install Rust dependencies (automatic on first build) cd src-tauri cargo build cd ..
# Start NuxtJS dev server only
npm run dev
# Start Tauri with NuxtJS integration
cd src-tauri
cargo tauri devThe application will be available at:
- Web: http://localhost:3000
- Desktop: Tauri window will open automatically
- Frontend Changes: Edit Vue components in the root directory
- Backend Changes: Edit Rust code in
src-tauri/src/ - Styling: Use TailwindCSS classes or edit
assets/css/tailwind.css - Configuration: Update
nuxt.config.tsorsrc-tauri/tauri.conf.json
# Build for production
npm run build
# Preview production build
npm run preview# Build desktop application
cd src-tauri
cargo tauri buildThe built application will be available in src-tauri/target/release/.
# Run NuxtJS tests (when implemented)
npm run test# Run Rust unit tests
cd src-tauri
cargo testnebula/
โโโ assets/
โ โโโ css/
โ โโโ tailwind.css # TailwindCSS styles
โโโ components/ # Vue components
โโโ layouts/ # NuxtJS layouts
โโโ pages/ # NuxtJS pages
โโโ public/ # Static assets
โโโ server/ # Server-side code
โ โโโ tsconfig.json # TypeScript config for server
โโโ src-tauri/ # Tauri backend
โ โโโ src/
โ โ โโโ lib.rs # Rust library code with tests
โ โ โโโ main.rs # Tauri main entry
โ โโโ Cargo.toml # Rust dependencies
โ โโโ tauri.conf.json # Tauri configuration
โ โโโ build.rs # Build script
โโโ app.vue # Main Vue component
โโโ nuxt.config.ts # NuxtJS configuration
โโโ tailwind.config.js # TailwindCSS configuration
โโโ package.json # Node.js dependencies
โโโ tsconfig.json # TypeScript configuration
โโโ README.md # This file
The project uses TailwindCSS v4.1 for styling:
- Configuration:
tailwind.config.js - Custom Styles:
assets/css/tailwind.css - Design System: Modern gradients, glassmorphism, responsive design
- Gradient Background: Blue to purple to indigo
- Glassmorphism: Semi-transparent containers with backdrop blur
- Responsive Typography: Mobile-first design approach
- Dark Mode Ready: Compatible with system dark mode
Edit nuxt.config.ts to modify:
- Build settings
- CSS processing
- PostCSS plugins
- Development tools
Edit src-tauri/tauri.conf.json to modify:
- App metadata
- Window settings
- Build commands
- Security policies
The web version can be deployed to any static hosting service:
- Vercel
- Netlify
- GitHub Pages
- AWS S3
Use Tauri's built-in distribution:
cd src-tauri
cargo tauri build --release- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
We use Conventional Commits:
feat:New featuresfix:Bug fixesdocs:Documentation changesstyle:Code style changesrefactor:Code refactoringtest:Test additions/changeschore:Build/tooling changes
- Write unit tests for all new functionality
- Follow the existing code style and patterns
- Update documentation for new features
- Ensure all tests pass before submitting PRs
This project is licensed under the MIT License - see the LICENSE file for details.
- Tauri - Cross-platform desktop framework
- NuxtJS - Vue.js framework
- TailwindCSS - Utility-first CSS framework
- Rust - Systems programming language
- xTerm.js - Terminal emulator for the web
- SurrealDB - Multi-model database
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Include your operating system and version information
- xTerm.js integration for terminal functionality
- SurrealDB integration for data persistence
- Advanced terminal features (tabs, split panes)
- Custom themes and color schemes
- Plugin system for extensibility
- Cross-platform package distribution
Nebula Terminal - Where modern design meets powerful functionality. โจ