-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 1a9533f
Showing
28 changed files
with
12,652 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,181 @@ | ||
# Gyaani | ||
|
||
`gyaani` is an **AI-powered terminal npm package** that enhances your command-line experience with smart features. It assists with various tasks—from system insights to generating images—directly from your terminal, making your workflow faster and more efficient. | ||
|
||
--- | ||
|
||
## Key Features | ||
|
||
- **Usage**: `$ gyaani [input]` | ||
- **Options**: | ||
- `--help`: Display help documentation | ||
- `--version`: Show the current version | ||
- `--explain`: Provide explanations for concepts | ||
- `--sysinfo`: Display detailed system information | ||
- `--github`: Fetch GitHub repository details | ||
- `--generate`: Generate an image from a prompt | ||
|
||
With **AI capabilities**, `gyaani` brings powerful tools to your terminal, making it an essential assistant for developers, system administrators, and curious minds alike. | ||
|
||
--- | ||
|
||
## Installation | ||
|
||
To install `gyaani` globally, run: | ||
|
||
```bash | ||
$ npm install --global gyaani | ||
``` | ||
|
||
--- | ||
|
||
## How to Use | ||
|
||
### Basic Usage: | ||
|
||
```bash | ||
$ gyaani [input] | ||
``` | ||
|
||
### Available Options | ||
|
||
- **`--help`** | ||
Display help documentation with available commands and usage examples. | ||
|
||
- **`--version`** | ||
Show the current version of `gyaani`. | ||
|
||
- **`--explain`** | ||
Explain concepts or technical terms in detail. | ||
|
||
- **`--sysinfo`** | ||
Display system information such as OS, CPU, and memory usage. | ||
|
||
- **`--github`** | ||
Fetch details about a GitHub repository, including contributors and issues. | ||
|
||
- **`--generate`** | ||
Generate an **AI-based image** from a given prompt. | ||
|
||
--- | ||
|
||
## Examples | ||
|
||
```bash | ||
$ gyaani --help | ||
# Displays help information with available commands | ||
|
||
$ gyaani --version | ||
# Shows the current version of gyaani | ||
|
||
$ gyaani --explain "What is OAuth?" | ||
# Provides a detailed explanation of OAuth | ||
|
||
$ gyaani --sysinfo | ||
# Retrieves system details (CPU, memory, etc.) | ||
|
||
$ gyaani --github | ||
# Fetches data from a specified GitHub repository | ||
|
||
$ gyaani --generate "an image of an orange muscular cat in a gym weightlifting 200 lbs" | ||
# Generates an image based on the prompt | ||
``` | ||
|
||
--- | ||
|
||
## Why Use Gyaani? | ||
|
||
`gyaani` goes beyond being just another CLI tool—it’s your **AI-enhanced terminal companion**, designed to streamline tasks, simplify concepts, and provide quick access to insights. | ||
|
||
- **Generate images**: Use creative prompts to generate AI-based images. | ||
- **Explain concepts**: Have complex ideas explained in an easy-to-understand way. | ||
- **Manage tasks efficiently**: From fetching system details to GitHub data, Gyaani has got you covered. | ||
|
||
With its AI-powered core, `gyaani` continuously learns and improves, adapting to your needs and making your terminal experience more engaging and productive. | ||
|
||
--- | ||
|
||
## Screenshots | ||
|
||
1. **Landing Screen** | ||
 | ||
|
||
2. **Command Execution** | ||
 | ||
|
||
3. **Explaining a Concept** | ||
 | ||
|
||
4. **Fetching GitHub Data** | ||
 | ||
|
||
5. **System Information Output** | ||
 | ||
|
||
--- | ||
|
||
## Local Setup for Contributors | ||
|
||
### Prerequisites | ||
|
||
To run `Gyaani` locally, you’ll need: | ||
- [Node.js](https://nodejs.org/) and [npm](https://npmjs.com/) installed | ||
- [Python](https://python.org/) installed to set up the AI server | ||
|
||
### Setting up the AI Server | ||
|
||
1. **Navigate to the `ai-server` folder** in the repository. | ||
|
||
2. **Create a `.env` file** in the `ai-server` folder, and add your OpenAI API key: | ||
|
||
```env | ||
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ||
``` | ||
|
||
3. **Set up a virtual environment** and install dependencies: | ||
|
||
```bash | ||
# Install virtualenv if it's not already installed | ||
python -m venv venv | ||
source venv/bin/activate # On Windows, use `venv\Scripts\activate` | ||
pip install -r requirements.txt | ||
``` | ||
|
||
4. **Run the AI server**: | ||
|
||
```bash | ||
python app.py | ||
``` | ||
|
||
The server should start at `http://127.0.0.1:5000`. | ||
|
||
### Setting up the `gyaani` React App | ||
|
||
1. **Navigate to the `gyaani` folder** in the repository. | ||
|
||
2. **Update `config.js`** in the `gyaani` folder with the local server URL: | ||
|
||
```javascript | ||
export const apiURL = 'http://127.0.0.1:5000'; | ||
``` | ||
|
||
3. **Install dependencies and start the React app**: | ||
|
||
```bash | ||
npm install | ||
npm run dev | ||
``` | ||
|
||
The React app should now be running locally. | ||
|
||
--- | ||
|
||
## Conclusion | ||
|
||
`gyaani` offers a **smarter way to interact with your terminal**, integrating AI to simplify tasks and generate creative content. Whether you’re looking for quick insights, system details, or even **AI-generated art**, `gyaani` makes it easy to get things done. | ||
|
||
```bash | ||
$ npm install --global gyaani | ||
``` | ||
|
||
Give `gyaani` a try today and take your terminal game to the next level! 🚀 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
*$py.class | ||
|
||
# C extensions | ||
*.so | ||
|
||
|
||
venv/ | ||
__pycache__/ | ||
|
||
# Distribution / packaging | ||
.Python | ||
build/ | ||
develop-eggs/ | ||
dist/ | ||
downloads/ | ||
eggs/ | ||
.eggs/ | ||
lib/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
wheels/ | ||
share/python-wheels/ | ||
*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
MANIFEST | ||
|
||
# PyInstaller | ||
# Usually these files are written by a python script from a template | ||
# before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
*.manifest | ||
*.spec | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
htmlcov/ | ||
.tox/ | ||
.nox/ | ||
.coverage | ||
.coverage.* | ||
.cache | ||
nosetests.xml | ||
coverage.xml | ||
*.cover | ||
*.py,cover | ||
.hypothesis/ | ||
.pytest_cache/ | ||
cover/ | ||
|
||
# Translations | ||
*.mo | ||
*.pot | ||
|
||
# Django stuff: | ||
*.log | ||
local_settings.py | ||
db.sqlite3 | ||
db.sqlite3-journal | ||
|
||
# Flask stuff: | ||
instance/ | ||
.webassets-cache | ||
|
||
# Scrapy stuff: | ||
.scrapy | ||
|
||
# Sphinx documentation | ||
docs/_build/ | ||
|
||
# PyBuilder | ||
.pybuilder/ | ||
target/ | ||
|
||
# Jupyter Notebook | ||
.ipynb_checkpoints | ||
|
||
# IPython | ||
profile_default/ | ||
ipython_config.py | ||
|
||
# pyenv | ||
# For a library or package, you might want to ignore these files since the code is | ||
# intended to run in multiple environments; otherwise, check them in: | ||
# .python-version | ||
|
||
# pipenv | ||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. | ||
# However, in case of collaboration, if having platform-specific dependencies or dependencies | ||
# having no cross-platform support, pipenv may install dependencies that don't work, or not | ||
# install all needed dependencies. | ||
#Pipfile.lock | ||
|
||
# poetry | ||
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. | ||
# This is especially recommended for binary packages to ensure reproducibility, and is more | ||
# commonly ignored for libraries. | ||
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control | ||
#poetry.lock | ||
|
||
# pdm | ||
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. | ||
#pdm.lock | ||
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it | ||
# in version control. | ||
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control | ||
.pdm.toml | ||
.pdm-python | ||
.pdm-build/ | ||
|
||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm | ||
__pypackages__/ | ||
|
||
# Celery stuff | ||
celerybeat-schedule | ||
celerybeat.pid | ||
|
||
# SageMath parsed files | ||
*.sage.py | ||
|
||
# Environments | ||
.env | ||
.venv | ||
env/ | ||
venv/ | ||
ENV/ | ||
env.bak/ | ||
venv.bak/ | ||
|
||
# Spyder project settings | ||
.spyderproject | ||
.spyproject | ||
|
||
# Rope project settings | ||
.ropeproject | ||
|
||
# mkdocs documentation | ||
/site | ||
|
||
# mypy | ||
.mypy_cache/ | ||
.dmypy.json | ||
dmypy.json | ||
|
||
# Pyre type checker | ||
.pyre/ | ||
|
||
# pytype static type analyzer | ||
.pytype/ | ||
|
||
# Cython debug symbols | ||
cython_debug/ | ||
|
||
# PyCharm | ||
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can | ||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore | ||
# and can be added to the global gitignore or merged into this file. For a more nuclear | ||
# option (not recommended) you can uncomment the following to ignore the entire idea folder. | ||
#.idea/ |
Oops, something went wrong.