- Just a simple chatbot UI
- Built with Nuxt 3, TypeScript, Google Gemini and Tailwind CSS
- Chat with different personalities
- Manage personalities
- Generate new personalities
- Chat with ChatBot
└── nuxtgemini/
├── README.md
├── app.vue
├── assets
│ └── css
├── bun.lockb
├── components
│ ├── ChatInterface.vue
│ ├── PersonalityModal.vue
│ └── Sidebar.vue
├── nuxt.config.ts
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── logo.png
│ ├── robots.txt
│ └── user.png
├── server
│ └── tsconfig.json
├── stores
│ ├── chats.ts
│ ├── messages.ts
│ ├── personalities.ts
│ └── settings.ts
├── tailwind.config.js
└── tsconfig.json
NUXTGEMINI/
__root__
package-lock.json |
❯ Dependency lock file ensuring consistent installations |
nuxt.config.ts |
❯ Nuxt.js configuration file with TailwindCSS and Pinia setup |
tsconfig.json |
❯ TypeScript configuration for the project |
tailwind.config.js |
❯ TailwindCSS configuration for styling |
app.vue |
❯ Root Vue component of the application |
package.json |
❯ Project metadata and dependencies including Nuxt.js, Google AI, and UI libraries |
components
ChatInterface.vue |
❯ Main chat interface component handling message display and interaction |
PersonalityModal.vue |
❯ Modal component for managing and creating chat personalities |
Sidebar.vue |
❯ Sidebar component for chat navigation and personality selection |
public
robots.txt |
❯ Search engine crawling configuration file |
server
stores
settings.ts |
❯ Pinia store for application settings management |
messages.ts |
❯ Pinia store for chat messages state management |
personalities.ts |
❯ Pinia store for managing chat personalities |
chats.ts |
❯ Pinia store for managing chat sessions |
Before getting started with nuxtgemini, ensure your runtime environment meets the following requirements:
- Programming Language: TypeScript
- Package Manager: Bun
Install nuxtgemini using one of the following methods:
Build from source:
- Clone the nuxtgemini repository:
❯ git clone https://github.com/Vertixx01/nuxtgemini
- Navigate to the project directory:
- Install the project dependencies:
Using bun

Run nuxtgemini using the following command:
Using bun

Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/Vertixx01/nuxtgemini
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph
- Vertixx01: For creating this project.
- Faetalize: For inspiring and motivating me to create this project.
- Hopefully, this project will be useful to you.