# Testing Roo Integration

This document provides instructions for testing the Roo integration in the Task Master package.

## Running Tests

To run the tests for the Roo integration:

```bash
# Run all tests
npm test

# Run only Roo integration tests
npm test -- -t "Roo"

# Run specific test file
npm test -- tests/integration/roo-files-inclusion.test.js
```

## Manual Testing

To manually verify that the Roo files are properly included in the package:

1. Create a test directory:

   ```bash
   mkdir test-tm
   cd test-tm
   ```

2. Create a package.json file:

   ```bash
   npm init -y
   ```

3. Install the task-master-ai package locally:

   ```bash
   # From the root of the claude-task-master repository
   cd ..
   npm pack
   # This will create a file like task-master-ai-0.12.0.tgz

   # Move back to the test directory
   cd test-tm
   npm install ../task-master-ai-0.12.0.tgz
   ```

4. Initialize a new Task Master project:

   ```bash
   npx task-master init --yes
   ```

5. Verify that all Roo files and directories are created:

   ```bash
   # Check that .roomodes file exists
   ls -la | grep .roomodes

   # Check that .roo directory exists and contains all mode directories
   ls -la .roo
   ls -la .roo/rules
   ls -la .roo/rules-architect
   ls -la .roo/rules-ask
   ls -la .roo/rules-orchestrator
   ls -la .roo/rules-code
   ls -la .roo/rules-debug
   ls -la .roo/rules-test
   ```

## What to Look For

When running the tests or performing manual verification, ensure that:

1. The package includes `.roo/**` and `.roomodes` in the `files` array in package.json
2. The `prepare-package.js` script verifies the existence of all required Roo files
3. The `init.js` script creates all necessary .roo directories and copies .roomodes file
4. All source files for Roo integration exist in `assets/roocode/.roo` and `assets/roocode/.roomodes`

## Compatibility

Ensure that the Roo integration works alongside existing Cursor functionality:

1. Initialize a new project that uses both Cursor and Roo:

   ```bash
   npx task-master init --yes
   ```

2. Verify that both `.cursor` and `.roo` directories are created
3. Verify that both `.windsurfrules` and `.roomodes` files are created
4. Confirm that existing functionality continues to work as expected
