@agent-toys/team-augmented-collaboration
v1.0.2-beta
Published
CLI minimalista para gestión de Git Hooks, sincronización y publicación de Skills de Agentes
Readme
🛠️ tac (Team Augmented Collaboration)
tac is an open-source command-line tool (CLI) designed to simplify and synchronize the distribution of AI Agent customizations (such as Skills, Rules, and Subagents) in collaborative projects.
Modern software development using AI assistants (like Cursor, Claude, GitHub Copilot, etc.) thrives when the entire team shares the same guidelines and agent skills. tac facilitates the distribution and collaboration of these configurations by centralizing them in shared repositories and syncing them to each team member's local development environment.
🎯 What Problem Does It Solve?
- Efficient Configuration Distribution: Ensures that the entire development team shares and uses the same updated set of Cursor rules, agent skills, and subagents without needing to transfer files manually or duplicate configs per project.
- Easy Collaboration and Contribution: Makes it easy for any team member to make improvements to local agent configurations and publish them back to the shared repositories so others can benefit.
- Smart Namespacing: Avoids name collisions when organizing local files.
tacdynamically renames customizations with a unique prefix based on the remote repository name and its branch (<repo-slug>-<branch>-<asset-name>). This allows you to use configurations from multiple sources in the same project. - Transparent Synchronization: Integrates with the repository's Git Hooks (such as
post-merge) to update local agent configurations in the IDE whenever changes are pulled from the main repository.
🏗️ How It Works
graph TD
A["Remote Configuration Repositories"] -->|tac pull| B["Local tac Cache (.tac/)"]
B -->|Namespacing & Copying| C["Local Agent Directories (.agents/)"]
C -->|Daily IDE Usage| D["AI Agent / Assistant"]
D -->|Local Skills/Rules Editing| C
C -->|tac push| E["Local Cache (.tac/)"]
E -->|Git Push to Temporary Branch| F["Remote Configuration Repository"]
F -->|Pull Request / Merge| A🚀 Quick Start Guide
1. Prerequisites
- Node.js (v18 or higher)
- Git installed and configured in your terminal.
2. Installation
To install and initialize the tool in your development environment, clone the tac repository and link it globally:
# Install dependencies
npm install
# Build the project
npm run build
# Link the CLI globally on your machine
npm link3. Initialization in Your Project
Navigate to the root directory of your git project and run:
tac initThis will perform the following initial setup tasks:
- Create a
tac-config.jsonconfiguration file at the root. - Add the required directories for the agents:
.agents/skillsand.agents/rules. - Configure your
.gitignoreto ignore thetaccache (.tac/) and namespaced local copies (.agents/), preventing accidental commits. - Install the
post-mergeGit Hook to automate subsequent syncs.
⚙️ Configuration and Usage
Managing Remote Repositories (remotes)
For tac to know where to retrieve agent customizations, you need to configure one or more remote repositories.
Add a remote repository:
tac remotes add <git-url> <branch> [repo-name]Example:
tac remotes add [email protected]:your-org/shared-agent-rules.git main shared-rulesList configured repositories:
tac remotes listDelete a remote repository:
tac remotes delete shared-rules
Synchronization (pull)
Downloads agent customizations from your remote repositories and copies them into their corresponding local folders with namespaced protection.
Sync everything:
tac pullSync a specific repository:
tac pull shared-rules
Resulting files will be automatically saved to:
- 📂 Skills:
.agents/skills/<repo>-<branch>-<skill_name>/ - 📂 Rules:
.agents/rules/<repo>-<branch>-<rule_name>.mdc - 📂 Subagents:
.agents/agents/<repo>-<branch>-<agent_name>
Contribution and Publishing (push & status)
If you make improvements to a rule or skill locally, you can easily publish them back to the original repository.
Check the status of your customizations (modified, created, or untracked):
tac statusPublish all modified changes:
tac pushPublish and register a specific asset (e.g., when creating a new one):
tac push [repo-name] --skill skill-name
[!NOTE]
For security,tac pushdoes not write directly to the remote main branch. Instead, it uploads changes to a new feature branch and instructs you to create a Pull Request (PR) on GitHub/GitLab so your team can review the changes before merging.
💻 Interactive Menu
If you run tac with no arguments, a beautiful interactive CLI interface will guide you through all the available options step by step:
tac🤝 Contributing to the Open Source Project
We love contributions! As an open-source project, you can help improve tac in the following ways:
- Report Bugs or Suggest Features: Open an Issue describing the enhancement or bug.
- Submit Pull Requests:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/cool-enhancement). - Implement your changes and add tests.
- Make sure all tests pass by running
npm run test. - Submit your Pull Request to the
mainbranch.
📄 License
This project is licensed under the MIT License. Feel free to use, modify, and distribute it in accordance with its terms.
