A super minimalistic CLI tool for asking questions to GitHub Copilot. Single file, Docker-ready, with persistent authentication and daily logging.
- π€ Ask GitHub Copilot - Get quick answers from AI
- π One-time authentication - GitHub OAuth with persistent token storage
- π Daily logging - Automatic logging of all questions and answers
- π³ Docker containerized - Persistent container for fast responses
- β‘ Minimalistic - Single TypeScript file (~180 lines)
- Docker (for containerized setup)
- Node.js 20+ (for direct usage)
-
Clone and setup:
git clone <your-repo> cd aiask ./setup.sh
-
Reload your shell:
source ~/.bashrc # or ~/.zshrc for zsh users # Or simply restart your terminal
git clone <your-repo>
cd aiask
npm install# Docker setup (after installation)
aiask "your question here"
# Direct usage
npm run ask "your question here"aiask "list top 5 GDP countries as table"
aiask "explain quantum computing in simple terms"
aiask "what is the difference between async and sync?"
aiask "write a Python function to sort a list"All interactions are automatically logged with timestamps. Here's how to view them:
docker exec -it aiask-container ls -la /app/data/logs/docker exec -it aiask-container cat /app/data/logs/$(date +%Y-%m-%d).logdocker exec -it aiask-container cat /app/data/logs/2025-07-09.logdocker exec -it aiask-container tail -10 /app/data/logs/$(date +%Y-%m-%d).logdocker exec -it aiask-container tail -f /app/data/logs/$(date +%Y-%m-%d).log# Search in today's log
docker exec -it aiask-container grep -i "python" /app/data/logs/$(date +%Y-%m-%d).log
# Search across all logs
docker exec -it aiask-container grep -r "programming" /app/data/logs/# Copy today's log
docker cp aiask-container:/app/data/logs/$(date +%Y-%m-%d).log ./
# Copy all logs
docker cp aiask-container:/app/data/logs/ ./logs/docker exec -it aiask-container sh
cd /app/data/logs
ls -la
cat 2025-07-09.log
exit2025-07-09T10:06:44.566Z
INPUT: what is 2+2?
OUTPUT: 4
---
On first use, you'll be prompted to authenticate with GitHub:
- Visit the provided URL
- Enter the device code
- Press Enter to continue
- Token is saved automatically for future use
aiask/
βββ ask.ts # Single source file (main application)
βββ package.json # Dependencies and scripts
βββ tsconfig.json # TypeScript configuration
βββ Dockerfile # Docker container setup
βββ setup.sh # Setup script for Docker
βββ token # GitHub token (auto-generated)
βββ logs/ # Daily log files
β βββ 2025-07-09.log # Format: YYYY-MM-DD.log
βββ dist/ # Built JavaScript (auto-generated)
βββ ask.js
The app uses these environment variables (Docker only):
NODE_NO_WARNINGS- Suppresses Node.js deprecation warnings
System prompt: "Answer shortly as an engineer would."
All interactions are automatically logged to daily files:
2025-07-09T09:48:30.932Z
INPUT: what is 2+2?
OUTPUT: 4
---
The Docker setup creates:
- Persistent container -
aiask-container(faster than creating new containers) - Data volume -
~/.aiask-data(stores token and logs) - Auto-restart - Container starts automatically with Docker
# Setup (one-time)
./setup.sh
# Ask questions
aiask "your question"
# Manual usage
npm run ask "your question"
npm run build # Build TypeScript
node dist/ask.js "your question" # Run built version
# Docker management
docker stop aiask-container # Stop container
docker start aiask-container # Start container
docker exec -it aiask-container node dist/ask.js "q" # Direct container usageRemove everything:
docker stop aiask-container
docker rm aiask-container
docker rmi aiask
rm ~/.aiask_alias.sh@vscode/copilot-api- GitHub Copilot API clientundici- Fast HTTP clienttypescript+ts-node- TypeScript support
MIT
