This guide explains how to integrate the ADW (Autonomous Development Workflow) system into your existing web application, enabling natural language-driven feature development.
- Overview
- Prerequisites
- Quick Start
- Integration Steps
- Framework-Specific Notes
- Manual Configuration
- Verification
- Troubleshooting
The ADW workflow integration adds the following to your project:
.claude/directory with Claude Code configuration and custom commandsadws/directory with workflow automation scripts- Environment variable configuration
- GitHub webhook setup for automated workflows
- Framework-specific slash commands
After integration, you can use natural language to request features, which are automatically planned, implemented, tested, and reviewed.
Before integrating ADW into your existing project, ensure you have:
- Git repository - Your project must be in a git repository
- GitHub remote - Repository must be pushed to GitHub
- GitHub CLI - Install with
brew install gh(macOS) or see GitHub CLI docs - Supported framework - React, Next.js, Vue, Svelte, or vanilla JavaScript/TypeScript
- Tests configured - Existing test framework (Jest, Vitest, Pytest, etc.)
- Clean working tree - Commit or stash any pending changes
- Package manager - npm, yarn, or bun for JavaScript projects
- Python environment - For backend projects using FastAPI/Django
The fastest way to integrate ADW into your existing project:
# From the tac-webbuilder directory
./scripts/integrate_existing.sh /path/to/your/appThis script will:
- Detect your framework and project structure
- Generate a GitHub issue with integration steps
- Let ADW automatically configure your project
Skip to Manual Configuration if you prefer to set up manually.
cd /path/to/tac-webbuilder
./scripts/integrate_existing.sh /path/to/your/appThe script will analyze your project and output:
📊 Detected framework: React + Vite
📊 Package manager: bun
📊 Test framework: Vitest
📊 Project structure:
- src/ (source code)
- tests/ (test files)
- public/ (static assets)
✅ Created GitHub issue #123 for ADW integration
The integration creates a GitHub issue that will:
- Add
.claude/directory with:settings.json- Claude Code configurationcommands/- Custom slash commands for your stack
- Add
adws/directory with workflow scripts - Configure environment variables in
.envand.env.sample - Set up GitHub webhook (manual step)
- Create initial tests if missing
- Add framework-specific utilities
Once the issue is created, ADW will:
- Plan - Analyze your project and create technical spec
- Implement - Add ADW infrastructure
- Test - Verify configuration works
- Review - Create PR for review
Review and merge the PR when ready.
After ADW completes setup:
Check .env.sample and create .env:
cp .env.sample .env
# Edit .env and add your API keysCommon variables:
# API Keys
ANTHROPIC_API_KEY=your-key-here
GITHUB_TOKEN=your-token-here
# Project Configuration
PROJECT_NAME=your-app
GITHUB_REPO=owner/repo
# Server Configuration (if applicable)
API_URL=http://localhost:8000Set up webhook for automated workflows:
- Go to your repo settings:
https://github.com/owner/repo/settings/hooks - Click "Add webhook"
- Configure:
- Payload URL: Your webhook endpoint (if using tac-webbuilder API)
- Content type:
application/json - Events: Select "Issues" and "Pull requests"
- Active: ✅ Checked
- Save webhook
Create a simple test issue:
# Using tac-webbuilder CLI
cd /path/to/tac-webbuilder
./scripts/start_cli.sh request "Add a button that logs 'Hello' when clicked"Or create a GitHub issue manually with ADW labels.
Detected indicators:
package.jsonwithreactdependencysrc/directory with.jsxor.tsxfiles- Vite, Create React App, or custom build config
Integration adds:
- React Testing Library if not present
- Vitest or Jest configuration
- Component scaffolding commands
- API client utilities in
src/api/
Configuration:
// .claude/settings.json
{
"rules": [
"Use TypeScript for all new files",
"Include tests with React Testing Library",
"Follow React hooks best practices",
"Update API client when adding endpoints"
]
}Commands added:
/add-component- Scaffold new React component/add-api- Add new API endpoint/add-test- Create component test
Detected indicators:
package.jsonwithnextdependencyapp/orpages/directorynext.config.jsornext.config.mjs
Integration adds:
- Jest with Next.js config if not present
- API route helpers
- Server/Client component utilities
- App Router or Pages Router specific commands
Configuration:
// .claude/settings.json
{
"rules": [
"Use App Router patterns (not Pages Router)",
"Server Components by default, Client Components when needed",
"Include tests with Jest and React Testing Library",
"Use Next.js Image component for images",
"API routes in app/api/ directory"
]
}Commands added:
/add-page- Create new Next.js page/add-api-route- Add API route/add-layout- Create layout component/add-server-action- Add server action (App Router)
Detected indicators:
package.jsonwithvuedependencysrc/directory with.vuefiles- Vite or Vue CLI config
Integration adds:
- Vue Test Utils if not present
- Vitest or Jest configuration
- Component scaffolding commands
- Pinia store utilities (if using Pinia)
Configuration:
// .claude/settings.json
{
"rules": [
"Use Composition API (not Options API)",
"Include tests with Vue Test Utils",
"Use script setup syntax",
"Follow Vue 3 best practices"
]
}FastAPI:
Detected indicators:
main.pyorapp.pywith FastAPI importrequirements.txtorpyproject.tomlwithfastapi
Integration adds:
- Pytest configuration
- Test client utilities
- OpenAPI/Swagger documentation helpers
- CRUD operation templates
Express:
Detected indicators:
package.jsonwithexpressdependency- Server file (
server.js,index.js,app.js)
Integration adds:
- Jest or Mocha configuration
- Supertest for API testing
- Route scaffolding commands
- Middleware utilities
Detected indicators:
- No major framework detected
.html,.css,.jsfiles- Simple project structure
Integration adds:
- Basic testing with Jest (optional)
- ESLint configuration
- Simple build setup (optional)
- HTML/CSS/JS scaffolding commands
If you prefer manual setup over the automated integration:
cd /path/to/your/app
mkdir -p .claude/commandsCreate .claude/settings.json:
{
"mcpServers": {},
"rules": [
"When implementing features, always include tests",
"Use TypeScript for all new files (if applicable)",
"Follow project coding standards",
"Update documentation when adding features"
]
}If you want to use ADW automation scripts:
mkdir -p adws/adw_modulesCopy or link ADW scripts from tac-webbuilder or implement custom workflow scripts.
Create .env.sample:
# API Keys (add your keys to .env, not .env.sample)
ANTHROPIC_API_KEY=
GITHUB_TOKEN=
# Project Configuration
PROJECT_NAME=your-app
GITHUB_REPO=owner/repoCreate .env (add to .gitignore):
ANTHROPIC_API_KEY=your-actual-key
GITHUB_TOKEN=your-actual-token
# ... other variablesCreate project-specific slash commands in .claude/commands/:
Example: .claude/commands/add-component.md
Create a new React component with:
- TypeScript
- Component file in src/components/
- Test file using React Testing Library
- Export from index.tsAdd a health check endpoint for monitoring:
FastAPI:
@app.get("/health")
def health_check():
return {"status": "ok"}Express:
app.get('/health', (req, res) => {
res.json({ status: 'ok' })
})After integration, verify everything works:
ls -la .claude/
# Should show: settings.json, commands/
ls -la adws/ # If using ADW automation
# Should show: ADW workflow scripts# Check .env is ignored
git check-ignore .env
# Should output: .env
# Verify .env.sample is tracked
git ls-files .env.sample
# Should output: .env.sample# React/Next.js/Vue
npm test
# FastAPI
pytest
# Express
npm testUsing tac-webbuilder:
cd /path/to/tac-webbuilder
./scripts/start_cli.sh request "Add a simple test feature to verify ADW integration"Check that:
- GitHub issue is created
- Issue has proper labels
- ADW workflow can access your repo
Problem: Integration script says "Unknown framework"
Solution:
- Ensure your project has clear framework indicators (package.json, main files)
- Manually specify framework in integration script (coming soon)
- Use manual configuration steps
Problem: gh command fails with authentication error
Solution:
gh auth login
# Follow prompts to authenticateProblem: Can't execute integration script
Solution:
chmod +x scripts/integrate_existing.shProblem: Existing tests break after ADW integration
Solution:
- Check if new dependencies conflict with existing ones
- Verify test configuration wasn't overwritten
- Review PR changes before merging
- Restore from git if needed:
git restore <file>
Problem: App can't find environment variables
Solution:
- Ensure
.envfile exists (copy from.env.sample) - Check variable names match your framework:
- Vite:
VITE_* - Next.js:
NEXT_PUBLIC_* - Create React App:
REACT_APP_*
- Vite:
- Restart dev server after changing
.env
Problem: Creating issues doesn't start ADW workflow
Solution:
- Verify webhook is configured correctly
- Check issue has required labels
- Ensure GitHub token has necessary permissions
- Review webhook delivery logs in GitHub settings
Problem: Your project already has a .claude/ directory
Solution:
- Back up existing
.claude/directory - Merge ADW configuration with your existing setup
- Keep your custom commands and add ADW commands separately
After successful integration:
-
Read Documentation
-
Try Example Requests
- Start with simple features
- Review ADW-generated code
- Learn from the patterns
-
Customize Configuration
- Add project-specific rules to
.claude/settings.json - Create custom slash commands
- Configure test preferences
- Add project-specific rules to
-
Share with Team
- Document ADW usage in your project README
- Train team on natural language requests
- Establish guidelines for ADW usage
If you encounter issues not covered here:
- Check Troubleshooting Guide
- Review GitHub Issues
- Create new issue with:
- Framework and version
- Integration script output
- Error messages
- Project structure (sanitized)
Need help? Join our community or open an issue on GitHub.