Files
PriceUpdaterAppv2/.kiro/steering/tech.md

63 lines
1.9 KiB
Markdown

# Technology Stack
## Runtime & Dependencies
- **Node.js**: >=16.0.0 (specified in package.json engines)
- **Core Dependencies**:
- `@shopify/shopify-api`: ^7.7.0 - Shopify GraphQL API client
- `dotenv`: ^16.3.1 - Environment variable management
- `node-fetch`: ^3.3.2 - HTTP client for API requests
- **Development Dependencies**:
- `jest`: ^29.7.0 - Testing framework
## Architecture Patterns
- **Service Layer Architecture**: Separation of concerns with dedicated services
- **Configuration Management**: Centralized environment-based configuration
- **Error Handling**: Comprehensive retry logic with exponential backoff
- **Logging Strategy**: Dual output (console + Progress.md file)
## API Integration
- **Shopify GraphQL Admin API**: Version 2024-01
- **Authentication**: Private App access tokens
- **Rate Limiting**: Built-in handling with automatic retries
- **Bulk Operations**: Uses `productVariantsBulkUpdate` mutation
## Common Commands
### Development
```bash
npm install # Install dependencies
npm start # Run with default settings
npm run update # Explicit update mode
npm run rollback # Rollback mode
npm run debug-tags # Debug tag analysis
npm test # Run test suite
```
### Environment Setup
```bash
copy .env.example .env # Create environment file (Windows)
cp .env.example .env # Create environment file (Unix)
```
### Testing & Debugging
```bash
npm run debug-tags # Analyze store tags before running
npm test # Run Jest test suite
```
## Environment Variables
Required variables (see .env.example):
- `SHOPIFY_SHOP_DOMAIN`: Store domain
- `SHOPIFY_ACCESS_TOKEN`: Admin API token
- `TARGET_TAG`: Product tag filter
- `PRICE_ADJUSTMENT_PERCENTAGE`: Adjustment percentage
- `OPERATION_MODE`: "update" or "rollback"