Initial commit with translated description
This commit is contained in:
152
README.md
Normal file
152
README.md
Normal file
@@ -0,0 +1,152 @@
|
||||
# OpenClaw GitHub Skill
|
||||
|
||||
A skill that lets your AI assistant query and manage GitHub repositories.
|
||||
|
||||
## Features
|
||||
|
||||
- 📋 **List Repos** — View your repositories with filters
|
||||
- 📊 **Get Repo Details** — Stars, forks, language, last updated
|
||||
- 🔄 **Check CI Status** — Monitor CI/CD pipelines
|
||||
- 📝 **Create Issues** — Open issues from conversation
|
||||
- 📁 **Create Repos** — Create new repositories
|
||||
- 🔍 **Search Repos** — Find repos by name/query
|
||||
- 📊 **Recent Activity** — View recent commits
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- OpenClaw gateway running
|
||||
- Node.js 18+
|
||||
- GitHub account with a Personal Access Token (PAT)
|
||||
|
||||
## Setup
|
||||
|
||||
### 1. Generate a GitHub Personal Access Token
|
||||
|
||||
1. Go to https://github.com/settings/tokens
|
||||
2. Click "Generate new token (classic)"
|
||||
3. Name: `openclaw-github-skill`
|
||||
4. Scopes (permissions):
|
||||
- `repo` — Full control of private repositories
|
||||
- `public_repo` — Limited access to public repositories only
|
||||
- `read:user` — Read user profile data (optional)
|
||||
5. Copy the token
|
||||
|
||||
### 2. Configure Credentials
|
||||
|
||||
**Option A: Environment Variables (Recommended for local use)**
|
||||
|
||||
Set before starting OpenClaw:
|
||||
|
||||
```bash
|
||||
export GITHUB_TOKEN="ghp_your_token_here"
|
||||
export GITHUB_USERNAME="your_github_username"
|
||||
```
|
||||
|
||||
**Option B: OpenClaw Config**
|
||||
|
||||
Add to `~/.openclaw/openclaw.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"github": {
|
||||
"token": "ghp_your_token_here",
|
||||
"username": "your_username"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 3. Restart OpenClaw
|
||||
|
||||
```bash
|
||||
openclaw gateway restart
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
You: List my Python repositories
|
||||
Bot: [lists your Python repositories]
|
||||
|
||||
You: Check CI status on my-project
|
||||
Bot: [shows CI/CD status]
|
||||
|
||||
You: Create an issue in my-project about the login bug
|
||||
Bot: [creates the issue and returns the link]
|
||||
|
||||
You: What's the recent activity on my-project?
|
||||
Bot: [shows recent commits]
|
||||
|
||||
You: Search my repos for "trading"
|
||||
Bot: [shows matching repositories]
|
||||
```
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
openclaw-github-skill/
|
||||
├── SKILL.md # Skill documentation for OpenClaw
|
||||
├── README.md # This file
|
||||
├── index.js # Skill implementation
|
||||
└── package.json # NPM package metadata
|
||||
```
|
||||
|
||||
## Commands Reference
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `list_repos` | List repositories (filter by type, language, sort) |
|
||||
| `get_repo` | Get detailed repo info (stars, forks, etc.) |
|
||||
| `check_ci_status` | CI/CD status |
|
||||
| `create_issue` | Create a new issue |
|
||||
| `create_repo` | Create a new repository |
|
||||
| `search_repos` | Search your repositories |
|
||||
| `get_recent_activity` | View recent commits |
|
||||
|
||||
## Security
|
||||
|
||||
⚠️ **IMPORTANT: Protect Your GitHub Token!**
|
||||
|
||||
**Do:**
|
||||
- ✅ Use environment variables or OpenClaw config
|
||||
- ✅ Use minimal required scopes (`repo` or `public_repo`)
|
||||
- ✅ Rotate tokens if compromised
|
||||
|
||||
**Don't:**
|
||||
- ❌ Commit tokens to git
|
||||
- ❌ Share tokens in code or public repos
|
||||
- ❌ Store tokens in unprotected files
|
||||
|
||||
**Best Practices:**
|
||||
- For local development: Environment variables are acceptable
|
||||
- For shared machines: Use OpenClaw config or a secrets manager
|
||||
- For production: Use your platform's credential store
|
||||
|
||||
## Rate Limits
|
||||
|
||||
- **Unauthenticated requests:** 60/hour
|
||||
- **Authenticated requests:** 5,000/hour
|
||||
|
||||
The skill automatically uses your credentials for authentication.
|
||||
|
||||
## Requirements
|
||||
|
||||
- OpenClaw 2024+
|
||||
- Node.js 18+
|
||||
- GitHub Personal Access Token with appropriate scopes
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions welcome! To contribute:
|
||||
|
||||
1. Fork this repository
|
||||
2. Create a feature branch
|
||||
3. Make your changes
|
||||
4. Submit a pull request
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
Built for the OpenClaw ecosystem.
|
||||
Reference in New Issue
Block a user