{"_id":"@agent-toys/team-augmented-collab","_rev":"2-accca46e434a36cfc804ba5026a6909b","name":"@agent-toys/team-augmented-collab","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@agent-toys/team-augmented-collab","version":"1.0.0","_id":"@agent-toys/team-augmented-collab@1.0.0","maintainers":[{"name":"maurodanielpenaloza","email":"maurodanielpenaloza@gmail.com"}],"bin":{"tac":"dist/index.js"},"dist":{"shasum":"5b52fd8e228424a88b7ffe25c73c23fabcd082f9","tarball":"https://registry.npmjs.org/@agent-toys/team-augmented-collab/-/team-augmented-collab-1.0.0.tgz","fileCount":5,"integrity":"sha512-1VmYFLi2dQMFEfo3MIE1KgOshpN0HZS8Tclgqm34awS0+5MWzpuX+7dbGJU6VxtUateZEJ18XggIcf6jErDhKw==","signatures":[{"sig":"MEUCICgqTnOcW8KucGjGpEjCPWq7OSphjmkXAn56SdcfqrEYAiEAjhhtuvXDpPNCTgbKa2efrlHAcwnpymlXzuwlp2oNSLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50234},"type":"module","gitHead":"42ee2c3d3905048bc688ffc564a2cc0898230cb6","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","release":"npm run build && npm publish --access public"},"_npmUser":{"name":"maurodanielpenaloza","email":"maurodanielpenaloza@gmail.com"},"_npmVersion":"10.9.4","description":"CLI minimalista para gestión de Git Hooks, sincronización y publicación de Skills de Agentes","directories":{},"_nodeVersion":"22.21.0","dependencies":{"fs-extra":"^11.2.0","commander":"^11.1.0","env-paths":"^3.0.0","picocolors":"^1.0.0","@clack/prompts":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","vitest":"^4.1.9","typescript":"^5.3.3","@types/node":"^20.11.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/team-augmented-collab_1.0.0_1783353212212_0.6502300024775374","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Publicado por error, no usar"}},"time":{"created":"2026-07-06T15:53:31.993Z","modified":"2026-07-06T16:42:21.717Z","1.0.0":"2026-07-06T15:53:32.367Z"},"description":"CLI minimalista para gestión de Git Hooks, sincronización y publicación de Skills de Agentes","maintainers":[{"name":"maurodanielpenaloza","email":"maurodanielpenaloza@gmail.com"}],"readme":"# 🛠️ tac (Team Augmented Collaboration)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)]()\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)]()\n\n**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.\n\nModern 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.\n\n---\n\n## 🎯 What Problem Does It Solve?\n\n1. **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.\n2. **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.\n3. **Smart Namespacing:** Avoids name collisions when organizing local files. `tac` dynamically 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.\n4. **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.\n\n---\n\n## 🏗️ How It Works\n\n```mermaid\ngraph TD\n    A[\"Remote Configuration Repositories\"] -->|tac pull| B[\"Local tac Cache (.tac/)\"]\n    B -->|Namespacing & Copying| C[\"Local Agent Directories (.agents/ & .cursor/agents/)\"]\n    C -->|Daily IDE Usage| D[\"AI Agent / Assistant\"]\n    D -->|Local Skills/Rules Editing| C\n    C -->|tac push| E[\"Local Cache (.tac/)\"]\n    E -->|Git Push to Temporary Branch| F[\"Remote Configuration Repository\"]\n    F -->|Pull Request / Merge| A\n```\n\n---\n\n## 🚀 Quick Start Guide\n\n### 1. Prerequisites\n\n- **Node.js** (v18 or higher)\n- **Git** installed and configured in your terminal.\n\n### 2. Installation\n\nTo install and initialize the tool in your development environment, clone the `tac` repository and link it globally:\n\n```bash\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Link the CLI globally on your machine\nnpm link\n```\n\n### 3. Initialization in Your Project\n\nNavigate to the root directory of your git project and run:\n\n```bash\ntac init\n```\n\nThis will perform the following initial setup tasks:\n1. Create a `tac-config.json` configuration file at the root.\n2. Add the required directories for the agents: `.agents/skills` and `.agents/rules`.\n3. Configure your `.gitignore` to ignore the `tac` cache (`.tac/`) and namespaced local copies (`.agents/`), preventing accidental commits.\n4. Install the `post-merge` Git Hook to automate subsequent syncs.\n\n---\n\n## ⚙️ Configuration and Usage\n\n### Managing Remote Repositories (`remotes`)\n\nFor `tac` to know where to retrieve agent customizations, you need to configure one or more remote repositories.\n\n* **Add a remote repository:**\n  ```bash\n  tac remotes add <git-url> <branch> [repo-name]\n  ```\n  *Example:*\n  ```bash\n  tac remotes add git@github.com:your-org/shared-agent-rules.git main shared-rules\n  ```\n\n* **List configured repositories:**\n  ```bash\n  tac remotes list\n  ```\n\n* **Delete a remote repository:**\n  ```bash\n  tac remotes delete shared-rules\n  ```\n\n---\n\n### Synchronization (`pull`)\n\nDownloads agent customizations from your remote repositories and copies them into their corresponding local folders with namespaced protection.\n\n* **Sync everything:**\n  ```bash\n  tac pull\n  ```\n\n* **Sync a specific repository:**\n  ```bash\n  tac pull shared-rules\n  ```\n\nResulting files will be automatically saved to:\n* 📂 Skills: `.agents/skills/<repo>-<branch>-<skill_name>/`\n* 📂 Rules: `.agents/rules/<repo>-<branch>-<rule_name>.mdc`\n* 📂 Subagents: `.cursor/agents/<repo>-<branch>-<agent_name>`\n\n---\n\n### Contribution and Publishing (`push` & `status`)\n\nIf you make improvements to a rule or skill locally, you can easily publish them back to the original repository.\n\n* **Check the status of your customizations (modified, created, or untracked):**\n  ```bash\n  tac status\n  ```\n\n* **Publish all modified changes:**\n  ```bash\n  tac push\n  ```\n\n* **Publish and register a specific asset (e.g., when creating a new one):**\n  ```bash\n  tac push [repo-name] --skill skill-name\n  ```\n\n> [!NOTE]  \n> For security, `tac push` does 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.\n\n---\n\n## 💻 Interactive Menu\n\nIf you run `tac` with no arguments, a beautiful interactive CLI interface will guide you through all the available options step by step:\n\n```bash\ntac\n```\n\n---\n\n## 🤝 Contributing to the Open Source Project\n\nWe love contributions! As an open-source project, you can help improve `tac` in the following ways:\n\n1. **Report Bugs or Suggest Features:** Open an *Issue* describing the enhancement or bug.\n2. **Submit Pull Requests:** \n   - Fork the repository.\n   - Create your feature branch (`git checkout -b feature/cool-enhancement`).\n   - Implement your changes and add tests.\n   - Make sure all tests pass by running `npm run test`.\n   - Submit your Pull Request to the `main` branch.\n\n---\n\n## 📄 License\n\nThis project is licensed under the **MIT** License. Feel free to use, modify, and distribute it in accordance with its terms.\n","readmeFilename":"README.md"}