Set up your development environment for IntellyWeave CLI.
| Requirement | Version | Notes |
|---|---|---|
| Node.js | >= 18 | Required |
| npm | >= 9 | Comes with Node.js |
| Git | Latest | For version control |
| Weaviate | Any | Local Docker or WCD |
| pre-commit | Latest | For git hooks |
| gitleaks | Latest | For secret detection |
git clone https://github.com/Intellyweave/intellyweave-cli.git
cd intellyweave-clinpm installcp .env.example .envEdit .env:
# Weaviate Configuration
WEAVIATE_URL=http://localhost:8080
# For Weaviate Cloud (alternative)
# WCD_URL=https://your-cluster.weaviate.network
# WCD_API_KEY=your-api-key
# VoyageAI (optional, for embeddings)
VOYAGEAI_API_KEY=your-key
# AI Agent (for natural language queries in shell)
ANTHROPIC_API_KEY=sk-ant-...
AI_MODEL=claude-haiku-4-5Create intellyweave.config.json:
{
"mcpServers": {
"weaviate": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@smithery/cli", "run", "@weaviate/mcp-server-weaviate"]
}
}
}npm run buildInstall git hooks for secret detection:
pre-commit installThis prevents accidental commits of API keys and credentials. See Secret Detection for details.
npm run intellyweave -- --versionnpm run dev # Run CLI in dev mode (tsx)
npm run intellyweave # Alias for dev mode
npm start # Run compiled CLInpm run build # Compile TypeScript to dist/npm run lint # Check code with Biome
npm run lint:fix # Auto-fix linting issues
npm run format # Format code with Biome
npm run check # Run linter + type checkingnpm run test # Run all tests
npm run test:unit # Unit tests only
npm run test:commands # Command tests only
npm run test:shell # Shell tests only
npm run test:integration # Integration tests only
npm run test:watch # Watch mode
npm run test:coverage # Generate coverage reportUse npm run intellyweave -- to run commands:
# Preview a data import (dry-run)
npm run intellyweave -- data import
# Execute a data import
npm run intellyweave -- --live data import
# Run with global flags
npm run intellyweave -- --verbose --json weaviate collections
# Test interactive shell
npm run intellyweave -- shellCreate docker-compose.yaml:
version: '3.8'
services:
weaviate:
image: semitechnologies/weaviate:latest
ports:
- "8080:8080"
- "50051:50051"
environment:
QUERY_DEFAULTS_LIMIT: 25
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
volumes:
- weaviate_data:/var/lib/weaviate
volumes:
weaviate_data:Start:
docker compose up -d weaviateUse WCD for development:
# In .env
WCD_URL=https://your-dev-cluster.weaviate.network
WCD_API_KEY=your-api-keyRecommended extensions:
- ESLint / Biome
- TypeScript
- Prettier (disable for this project - using Biome)
Settings (.vscode/settings.json):
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "biomejs.biome",
"typescript.preferences.importModuleSpecifier": "relative"
}Rebuild the project:
npm run buildRun type check:
npm run check-
Check Docker is running:
docker ps | grep weaviate -
Verify URL in
.env:grep WEAVIATE .env
-
Test connection:
npm run intellyweave -- weaviate status