- Notifications
You must be signed in to change notification settings - Fork0
License
Developerayo/adam
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Adam is a CLI tool designed to help developers generate/execute simple and complex shell commands. Smart enough to understand your project's structure and suggest the right commands based on what you're working on.
- Node.js>= 16.x- npm>= 8.x- OpenAI API key and/or Your Gemini API key
- AI Models: Seamlessly choose between OpenAI and Google Gemini for generating commands.
- Project Analysis: In-dept understanding of the current working directory for the project structure and dependencies.
- Git Integration: Understands git status and can generate git commands.
- Configuration: Easily configure API keys and defaults.
- Dependency Management: Scans and reports project dependencies.
- Voice Commands: Voice input support powered by whisper [Beta]
- OS Support: Works fine on Unix-based systems and Windows.
- Voice Commands: Use voice input for commands via AssemblyAI, additionally to whisper.
- Error Insights: Understand previous shell error messages without leaving your terminal.
Install Adam globally using NPM:
npm install -g adam-ai
Call Adam:
adam
Show Help:
adam --help
Show Version:
adam --version
Configure API keys and defaults:
adam config
Open config file in your default editor:
adam open-config
Show current configuration in shell:
adam show-config
Force using OpenAI for the next command:
adam openai<your-command>
Force using Gemini for the next command:
adam gemini<your-command>
Run any command withDEBUG=true
to see details on what's happening:
DEBUG=true adam"install express"
- Create a new React project:
adam create new nextjs app called project-57 with typescript, tailwind, and trpc
# Response:✔ Command created[OpenAI] npx create-next-app@latest project-57 --typescript --tailwind --eslint --src-dir --use-npm&&cd project-57&& npm install @trpc/server @trpc/client
- Create an Express API:
adam initialize an express api named project-57-server with prisma, postgresql, and basic auth setup
# Response:✔ Command created[OpenAI] mkdir project-57-server&&cd project-57-server&& npm init -y&& npm install express prisma @prisma/client pg bcrypt jsonwebtoken&& npx prisma init&& touch .env&&echo"DATABASE_URL=postgresql://user:password@localhost:5432/mydb">> .env&& touch app.js routes/auth.js controllers/authController.js middlewares/authMiddleware.js&& mkdir models&& touch models/user.js
- Simple Git Opp:
# Let's force use the Gemini Model here (Pk must have been setup)adam gemini commit changes
# Response:✔ Command created[Gemini] git add.&& git commit -m"feat: add external_subscriber_addr to config and update run.sh for cleanup support"
# Current Branch:(docs/initial-docs ✔)adam switch back to main and pull
# Response:✔ Command created[OpenAI] git checkout main&& git pull origin main✔ ▶️ Ready to run this command? (Y/n) · Yes> About to run this command: git checkout main&& git pull origin mainSwitched to branch'main'Your branch is up to date with'origin/main'.remote: Enumerating objects: 1, done.remote: Counting objects: 100% (1/1), done.remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)Unpacking objects: 100% (1/1), 909 bytes| 909.00 KiB/s, done.From github.com:Developerayo/adam* branch main -> FETCH_HEAD 1e6e97a..afaed51 main -> origin/mainUpdating 1e6e97a..afaed51Fast-forward readme.md| 197 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- src/services/gemini.js| 9 ++++ src/services/openai.js| 9 ++++ 3 files changed, 213 insertions(+), 2 deletions(-)✔ Command executed successfully!
# Stage Changes, Switch to Staging, Pull Latest & Merge Developadam stash changes, switch to staging, pull latest, merge develop
# Response:✔ Command created[OpenAI] git stash&& git checkout staging&& git pull origin staging&& git merge develop
Adam's configurations are stored in~/.adam-cli.json
:
{"openaiApiKey":"sk-GbKnOWMMEA","assemblyaiApiKey":"8835d6","defaultPromptMethod":"text","enableVoiceDetection":true,"geminiApiKey":"AIzywY","defaultModel":"openai","userName":"Ayo"}
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Shodipo Ayomide -@developerayo
- Emeka Orji -@thecoderabbi
- Special thanks to all contributors and the open-source community.
About
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Contributors2
Uh oh!
There was an error while loading.Please reload this page.