Application tag line describe here
-
A Firebase project
-
A Shopify app in partner account
- Choose a project staging for Firebase application
firebase use --add- Configure all settings for Firebase development environment by creating a new file
.envinside thepackages/functions(copy from.env.example)
# Shopify Configuration
SHOPIFY_API_KEY=<Shopify API Key>
SHOPIFY_SECRET=<Shopify Secret>
SHOPIFY_FIREBASE_API_KEY=<Firebase API Key>
SHOPIFY_SCOPES=read_themes
SHOPIFY_ACCESS_TOKEN_KEY=avada-apps-access-token
# App Configuration
APP_ENV=development
APP_BASE_URL=<Your app base URL>- Create a file
.env.developmentwith content in packages/assets
VITE_SHOPIFY_API_KEY=<Insert here>
VITE_FIREBASE_API_KEY=<Insert here>
VITE_FIREBASE_AUTH_DOMAIN=<Insert here>
VITE_FIREBASE_PROJECT_ID=<Insert here>
VITE_FIREBASE_STORAGE_BUCKET=<Insert here>
VITE_FIREBASE_APP_ID=<Insert here>
VITE_FIREBASE_MEASUREMENT_ID=<Insert here>- Create an empty Firestore database
- Deploy the Firestore default indexes
firebase deploy --only firestore- To start to develop, please run 2 below commands
npm run devGOOGLE_APPLICATION_CREDENTIALS=<Path to service-account.json> firebase serve- All your files must be passed ESLint:
To setup a git hook before committing to Gitlab, please run:
cp git-hooks/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit- You can see all logs from your functions by follow commands
firebase functions:log- You also view in Web interface by access
Solution
Install Disable Content-Security-Policy (CSP) to disable CSP in Chromium browers
Solution
Go https://console.firebase.google.com/u/0/project/{project-id}/settings/serviceaccounts/adminsdk
Click Generate new private key
Use command to export global environment
export GOOGLE_APPLICATION_CREDENTIALS=<Path to service-account.json>Solution
Enable permission Service Account Token Creator for user@appspot.gserviceaccount.com
Solution
You can enable Analytics for your project from Firebase project
This project supports agentic development workflows using Claude Code. See CLAUDE.md for detailed instructions.
| Command | Description |
|---|---|
/plan [task] |
Create implementation plan for a feature |
/fix [issue] |
Analyze and fix issues |
/test |
Run tests and validate code quality |
/debug [issue] |
Investigate and diagnose problems |
/impact |
Analyze impact before merge request |
/perf [target] |
Audit code for performance issues |
/translate [feature] |
Update translations after adding labels |
| Agent | Purpose |
|---|---|
planner |
Research and create implementation plans |
debugger |
Investigate issues, analyze logs |
tester |
Run tests, validate quality |
code-reviewer |
Code review with Avada standards |
security-auditor |
Security vulnerability analysis |
performance-reviewer |
Audit performance and costs |
shopify-app-tester |
MR impact and testing checklist |
New Feature:
/plan [feature] → implement → /test → /review → /impact
Bug Fix:
/debug [issue] → /fix → /test
Before Merge:
/test → /review → /perf → /impact
Skills documentation is available in .claude/skills/ for:
avada-architecture.md- Project structure and coding standardsfirestore.md- Firestore queries, batching, indexesbigquery.md- Partitioning, clustering, cost controlshopify-api.md- API selection, bulk operations, webhooksbackend.md- Async patterns, functions config
- Add testing
- CI/CD
- Add document
mutation { webPixelUpdate( id: "gid://shopify/WebPixel/2063761636", webPixel: { settings: "{"appUrl":"https://existing-vat-fastest-independence.trycloudflare.com\"}" } ) { webPixel { id settings } userErrors { message } } } mutation { webPixelUpdate(id: "gid://shopify/WebPixel/2063761636", webPixel: { settings: "{"appUrl":"https://work-result-committee-hook.trycloudflare.com\"}" }) { webPixel { id settings } userErrors { message } } } query OrdersByDateRange( $first: Int! $after: String $firstLineItems: Int! $query: String! ) { orders( first: $first after: $after sortKey: CREATED_AT reverse: true query: $query ) { pageInfo { hasNextPage endCursor } edges { node { id createdAt lineItems(first: $firstLineItems) { nodes { product { id handle } } } } } } }



