add skills

This commit is contained in:
2026-01-05 02:23:21 -05:00
parent ac39addb72
commit 75a8ded043
3 changed files with 214 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# Skills
This directory contains Claude Code skills for working with the ajet-industries monorepo.
## Available Skills
### commitly
Explains how to use the commitly tool for committing and pushing changes across multiple git repositories in the monorepo.
**Invoke with:** Reference the `skills/commitly.md` file when needing to commit/push across multiple repos.
## What are Skills?
Skills are reusable documentation and instructions that help Claude Code understand how to work with specific tools and workflows in this repository.
## Creating New Skills
To create a new skill:
1. Create a new `.md` file in this directory
2. Include clear sections:
- What the tool/workflow is
- Usage examples
- How it works
- When to use it
- Architecture context (if relevant)
3. Update this README with the new skill
## Skill Guidelines
- Keep skills focused on a single tool or workflow
- Include practical examples
- Explain the "why" not just the "how"
- Reference relevant architecture documentation
- Include error handling and troubleshooting info
+68
View File
@@ -0,0 +1,68 @@
# Commitly Skill
Use this skill when you need to commit and/or push changes across multiple git repositories in the monorepo.
## What is Commitly?
Commitly is a Babashka script located at `commitly/commitly` that commits and pushes changes across all modified git subrepositories in the ajet-industries monorepo.
## Usage
```bash
./commitly/commitly [-p] <commit-message>
```
### Options
- `-p` - Push changes after committing. If no commit message is provided with `-p`, it will skip committing and just push all subrepos.
### Examples
**Commit all modified repos with a message:**
```bash
./commitly/commitly "fix: update configuration"
```
**Commit and push all modified repos:**
```bash
./commitly/commitly -p "feat: add new feature"
```
**Just push all repos (no commit):**
```bash
./commitly/commitly -p
```
## How It Works
1. **Discovery**: Scans the current directory for subdirectories containing `.git` folders
2. **Detection**: Checks each repository for uncommitted changes using `git status --porcelain`
3. **Commit**: Runs `git add -A` and `git commit -m "<message>"` for each modified repo
4. **Push**: If `-p` flag is present, runs `git push` for each successfully committed repo (or all repos if no message provided)
## When to Use
Use commitly when you've made changes across multiple services (service-manager, www, gateway, etc.) and want to commit them all with the same message, rather than cd-ing into each directory individually.
## Architecture Context
The monorepo contains multiple independent git repositories:
- `service-manager/` - Orchestration service
- `www/` - Dashboard website
- `gateway/` - Nginx reverse proxy
- `commitly/` - This tool itself
- `just-vibes/` - Other projects
Each has its own `.git` directory and is deployed independently via Gitea Actions when pushed to main.
## Error Handling
- If any repository fails to commit, commitly exits with code 1 and reports which repos failed
- If any repository fails to push (when `-p` is used), commitly exits with code 1 and reports which repos failed
- Repos are processed independently - one failure doesn't stop others from being processed
## Requirements
- Babashka must be installed (`bb` command available)
- The script must be executable: `chmod +x commitly/commitly`
- Each subrepo must have a git remote configured for pushing