ai-coding-agents
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Basarisiz
- exec() — Shell command execution in pi-mono/.pi/agent/extensions/git-checkpoint.ts
- rm -rf — Recursive force deletion command in pi-mono/.pi/agent/extensions/permission-gate.ts
- exec() — Shell command execution in pi-mono/.pi/agent/extensions/piline.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
This project serves as a centralized configuration hub for AI coding agents. It uses GNU Stow to deploy shared personas, slash commands, and extensions across supported platforms like OpenCode and Pi.
Security Assessment
Overall Risk: Medium. The codebase contains shell command execution (`exec()`) in multiple files and a recursive force deletion command (`rm -rf`) inside a permissions script. While these functions are typical for extensions that automate developer workflows and manage git checkpoints, they introduce inherent risks if modified or triggered improperly. No hardcoded secrets were found, and the tool does not request inherently dangerous system permissions.
Quality Assessment
The project is actively maintained, with its most recent push occurring today. It uses the permissive MIT license and includes thorough documentation. However, community visibility is extremely low, with only 7 stars on GitHub. It appears to be a personal utility built for a specific workflow rather than a battle-tested community standard.
Verdict
Use with caution. Review the shell execution and deletion scripts before deploying to ensure they align safely with your local environment.
Single source of truth for AI coding agent configuration — skills, commands and rules shared across OpenCode and Pi.
ai-coding-agents
Personal AI agent configuration managed with GNU Stow — shared across opencode and pi-mono.
Migration notice
I am migrating from opencode to pi-mono. This repository replaces
jjmartres/opencode, which is now
archived and read-only. During the transition both agent tools are supported
here. This is the long-term home for all shared agent configuration going
forward.
Table of Contents
- What this repo is
- Prerequisites
- Repository structure
- Stow packages
- Installation
- Make targets
- Pre-commit hooks
- Development
- Troubleshooting
- Contributing
- Architecture
What this repo is
Three GNU Stow packages, all targeting$HOME, that deploy:
- 80+ agent persona files shared between opencode and pi-mono
- 19 reusable skill packs covering diagrams, code docs, Jira, Datadog, robotics, and more
- 12 slash commands for common workflows (commit, review, test, …)
- opencode-specific configuration:
opencode.jsonc, MCP servers, themes, plugins - pi-mono-specific configuration: settings, models, TypeScript extensions
Prerequisites
| Tool | Purpose | Required |
|---|---|---|
| GNU Stow | Symlink farm manager | Yes |
| opencode | AI coding agent | If using the opencode package |
| pi-mono | AI coding agent | If using the pi-mono package |
| Node.js v18+ | JSONC validation script | Yes |
| TypeScript | pi-mono extension typechecking | Yes (npm install -g typescript) |
| pre-commit | Git hook framework | Optional |
macOS:
brew install stow node pre-commit
npm install -g typescript
Repository structure
ai-coding-agents/
├── shared/ # Stow package 1 — shared across both agents
│ └── .ai-agents/
│ ├── agents/ # 80+ agent persona .md files
│ │ ├── 00-general/
│ │ ├── 01-core/
│ │ ├── 02-languages/
│ │ ├── 03-infrastructure/
│ │ ├── 04-quality-and-security/
│ │ ├── 05-data-ai/
│ │ ├── 06-developer-experience/
│ │ ├── 07-specialized-domains/
│ │ ├── 08-business-product/
│ │ ├── 09-meta-orchestration/
│ │ └── 10-curiosity/
│ ├── commands/ # Shared slash commands
│ │ ├── commit.md
│ │ ├── commit-and-create-mr.md
│ │ ├── compose-email.md
│ │ ├── datadog.md
│ │ ├── documentation.md
│ │ ├── fix-renovate-mr.md
│ │ ├── memory-bank.md
│ │ ├── next-sprint-design.md
│ │ ├── prepare-dataset.md
│ │ ├── review.md
│ │ ├── specify.polish.md
│ │ └── test.md
│ ├── rules/
│ │ └── memory-bank.md
│ └── skills/ # Reusable skill packs
│ ├── asdf/
│ ├── content-research-writer/
│ ├── datadog/
│ ├── document-code/
│ ├── document-project/
│ ├── file-organizer/
│ ├── glab/
│ ├── httpie/
│ ├── humanizer/
│ ├── jira/
│ ├── karpathy-guidelines/
│ ├── marp-slide/
│ ├── mcp-builder/
│ ├── meeting-insights-analyzer/
│ ├── mermaid-diagrams/
│ ├── reachy-mini-sdk/ # git submodule
│ ├── work-on-ticket/
│ ├── worktrunk/
│ └── writing-clearly-and-concisely/
│
├── opencode/ # Stow package 2 — opencode-specific
│ └── .config/opencode/
│ ├── opencode.jsonc
│ ├── cost-guard.config.jsonc
│ ├── tui.jsonc
│ ├── plugins/
│ └── themes/ # Catppuccin variants
│
├── pi-mono/ # Stow package 3 — pi-mono-specific
│ └── .pi/agent/
│ ├── settings.json
│ ├── models.json
│ ├── auth.json
│ ├── themes/
│ └── extensions/ # TypeScript extensions
│ ├── agents.ts
│ ├── aliases.ts
│ ├── git-checkpoint.ts
│ ├── permission-gate.ts
│ ├── piline.ts
│ ├── protected-paths.ts
│ ├── rules.ts
│ ├── sessions-management.ts
│ ├── skills-searcher.ts
│ ├── skills.ts
│ ├── todo.ts
│ ├── tps.ts
│ └── usage.ts
│
├── scripts/
│ └── validate-jsonc.js
├── .pre-commit-config.yaml
├── .stowrc
└── Makefile
Stow packages
shared/ → ~/.ai-agents/
Contains everything that both opencode and pi-mono consume: agent personas,
skill packs, slash commands, and rules. Stow maps the contents ofshared/ directly into $HOME, so shared/.ai-agents/ lands at~/.ai-agents/.
opencode/ → ~/.config/opencode/
opencode application config: main opencode.jsonc, cost-guard settings,
TUI theme preferences, plugins, and Catppuccin UI themes.
Shared symlinks (not managed by Stow)
opencode expects agents, skills, commands, and rules under~/.config/opencode/. Stow cannot map the same source directory to two
different destinations, so make install creates these four symlinks
separately:
~/.config/opencode/agents → ~/.ai-agents/agents
~/.config/opencode/skills → ~/.ai-agents/skills
~/.config/opencode/commands → ~/.ai-agents/commands
~/.config/opencode/rules → ~/.ai-agents/rules
Run make link-shared to create them independently. See make status to
verify.
pi-mono/ → ~/.pi/
pi-mono application config: settings, model definitions, auth, themes, and a
set of TypeScript extensions that add custom behaviour (agent loading, skill
search, session management, git checkpoints, usage tracking, and more).
Installation
# Clone (include submodules)
git clone --recurse-submodules https://github.com/jjmartres/ai-coding-agents.git
cd ai-coding-agents
# Stow all packages, init submodules, and create the agents symlink
make install
# (Optional) Install pre-commit hooks
make install-hooks
After install, symlinks under $HOME point back into this repo. Edit files
here; changes take effect immediately.
Make targets
Installation
install Stow all packages + init submodules + create shared symlinks
submodules Initialize and update git submodules
stow-install Stow all packages only
link-shared Create ~/.config/opencode/{agents,skills,commands,rules} symlinks
uninstall Remove shared symlinks + unstow all packages
restow Re-run stow (use after adding/removing files)
Utilities
check Verify setup (directories, stow binary, .stowrc)
status Show linked packages and shared symlinks state
clean Remove broken symlinks under ~/.ai-agents and ~/.config/opencode
Pre-commit hooks
install-hooks Install pre-commit hooks
uninstall-hooks Remove pre-commit hooks
run-hooks Run all hooks against all files
update-hooks Update hooks to latest versions
Pre-commit hooks
| Hook | What it checks |
|---|---|
check-stowrc-exists |
.stowrc is present |
validate-makefile |
Makefile parses without syntax errors |
typecheck-extensions |
pi-mono TypeScript extensions pass tsc --noEmit |
validate-jsonc |
All .jsonc files are valid JSON-with-comments |
trailing-whitespace |
No trailing whitespace |
end-of-file-fixer |
Files end with a newline |
check-yaml |
YAML files are valid |
check-json |
JSON files (non-JSONC) are valid |
check-added-large-files |
No files larger than 1 MB |
check-merge-conflict |
No leftover conflict markers |
detect-private-key |
No accidental private key commits |
mixed-line-ending |
Enforces LF line endings |
markdownlint |
Markdown in shared/ passes .markdownlint.yaml |
shellcheck |
Shell scripts pass shellcheck --severity=warning |
Development
Adding an agent
Create a .md file in the appropriate category undershared/.ai-agents/agents/. No re-stowing needed — the directory is already
symlinked.
Adding a skill
Create a subdirectory under shared/.ai-agents/skills/ with a SKILL.md
entry point. Same as agents: no re-stowing needed.
Adding or removing files in a stow package
After adding or deleting files in opencode/ or pi-mono/:
make restow
Running hooks manually
make run-hooks
# Or target a single hook
pre-commit run typecheck-extensions --all-files
pre-commit run markdownlint --all-files
Updating configuration
git pull origin main
make restow
Troubleshooting
Symlinks not created / stow conflicts
make status # check what's linked
make clean # remove broken symlinks
make uninstall
make install
Agents not loading in opencode
# Verify the shared symlinks exist
ls -la ~/.config/opencode/agents ~/.config/opencode/skills
# Recreate them if missing
make link-shared
TypeScript typecheck fails
# Ensure tsc is available
npm install -g typescript
# Run the check manually
pre-commit run typecheck-extensions --all-files
JSONC validation fails
# Ensure Node.js >= 18 is installed
node --version
# Run the check manually
pre-commit run validate-jsonc --all-files
Submodule missing or empty
# If you cloned without --recurse-submodules
make submodules
# Or manually
git submodule update --init --recursive
Contributing
See CONTRIBUTING.md for how to add agents, skills, commands, and rules, coding standards, and how the pre-commit hooks work.
MIT License — see LICENSE.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi