Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
4046de7
feat: UI overhaul + first pass component implementation + Work submis…
Cygnusfear Mar 28, 2025
ab3cda2
Feat/work approval flow (#111)
Oba-One Apr 3, 2025
63670c4
app should build now
Oba-One Apr 4, 2025
19b9074
Feat/alpha polish refactor (#116)
Oba-One Apr 5, 2025
9fedae4
Feat/alpha-polish-refactor (#118)
Oba-One Apr 9, 2025
1f98e72
Feat/alpha-polish-refactor (#124)
Oba-One Jun 1, 2025
f0cb168
Posthog Integration (#123)
Oba-One Jun 1, 2025
c694856
feat: Internationalization Implementation (i18n) (#121)
Cygnusfear Jun 1, 2025
73aa2f6
Bump vite from 5.4.2 to 5.4.19 (#129)
dependabot[bot] Jun 1, 2025
76a9fc8
Bump vitest from 2.1.8 to 2.1.9 (#131)
dependabot[bot] Jun 1, 2025
8fe4530
Feat/add client readme (#125)
Oba-One Jun 1, 2025
3ae30b5
Feat/Garden Onboarding Script (#126)
Oba-One Jun 2, 2025
b70a0c6
Merge branch 'main' of github.com:greenpill-dev-guild/green-goods int…
Oba-One Jun 2, 2025
e6cec80
Bump ws from 8.5.0 to 8.17.1 in /packages/indexer
dependabot[bot] Jun 2, 2025
b1d18cf
updated lockfile
Oba-One Jun 2, 2025
12a9cd6
Feat/biome-2.0-integration (#146)
Oba-One Jun 16, 2025
d13b827
feat: implement offline work handling and synchronization
Oba-One Jun 17, 2025
debca97
fix: update environment variable for desktop development and refactor…
Oba-One Jun 17, 2025
6c86644
ignore dev dist
Oba-One Jun 17, 2025
222e63a
refactor: clean up import statements and re-order for consistency
Oba-One Jun 18, 2025
4692f56
Refactor: Improve code formatting and readability across multiple con…
Oba-One Jul 8, 2025
6182b61
Refactor: Update contract initialization to set deployer as owner
Oba-One Jul 8, 2025
d2d8401
Update VSCode settings and Biome configuration
Oba-One Jul 9, 2025
e21bb0e
Enhance environment configuration and permissions in contracts
Oba-One Jul 9, 2025
a290175
Refactor: Simplify contract initialization by removing multisig param…
Oba-One Jul 9, 2025
689f52a
Remove deprecated contract scripts and utility files
Oba-One Jul 10, 2025
5b6e506
Enhance contract deployment and configuration
Oba-One Jul 10, 2025
2b472f7
Add deployment scripts and utilities for Green Goods Protocol
Oba-One Jul 10, 2025
523e67f
Update Constants and libraries to support new blockchain networks
Oba-One Jul 10, 2025
f533a3e
Add garden onboarding configuration and scripts
Oba-One Jul 10, 2025
92595d8
Refactor garden onboarding process and update configuration files
Oba-One Jul 10, 2025
4a84e3a
Remove deprecated files and configurations from the EAS package
Oba-One Jul 11, 2025
9e3e199
Update linting commands in package.json to include indexer source files
Oba-One Jul 12, 2025
af60ba1
Enhance deployment process and schema management for Green Goods Prot…
Oba-One Jul 12, 2025
3846d01
Refactor file imports and update biome.json for deployment exclusions
Oba-One Jul 12, 2025
8cbbda9
Update indexer configuration and event handlers for Celo network support
Oba-One Jul 12, 2025
1fda051
fix: update Husky init file to include GPG path
Oba-One Jul 13, 2025
29819bf
feat: integrate EAS SDK and enhance chain configuration support
Oba-One Jul 13, 2025
4bcf0eb
test: verify forge works in Git hooks
Oba-One Jul 13, 2025
aacef1e
feat: add comprehensive deployment guide and enhance configuration files
Oba-One Jul 13, 2025
fcb3e66
feat: add Base Sepolia support and update contract configurations
Oba-One Jul 13, 2025
b4f7924
chore: remove outdated indexer configuration backup file
Oba-One Jul 13, 2025
54e2051
feat: update deployment configurations and add Base Sepolia RPC URL
Oba-One Jul 14, 2025
37ef3eb
feat: enhance deployment scripts and configurations for improved flex…
Oba-One Jul 14, 2025
c534610
feat: update indexer configuration for Base Sepolia RPC support
Oba-One Jul 14, 2025
79101f8
fix: update GraphQL proxy target in Vite configuration
Oba-One Jul 14, 2025
33f9b1e
feat: integrate Playwright for end-to-end testing
Oba-One Jul 14, 2025
9adaa16
feat: enhance deployment script with improved error handling and prof…
Oba-One Jul 14, 2025
b502563
feat: update indexer configuration with new RPC URLs
Oba-One Jul 14, 2025
12901f2
docs: update README with HTTPS access note and remove outdated sections
Oba-One Jul 14, 2025
83f36be
chore: update biome.json to include additional file patterns for incl…
Oba-One Jul 14, 2025
bebf661
refactor: standardize quotation marks and improve Playwright configur…
Oba-One Jul 14, 2025
1c2b8c1
feat: add ecosystem configuration for PM2 process management
Oba-One Jul 15, 2025
0405aa7
feat: update client configuration and dependencies
Oba-One Jul 15, 2025
c214965
feat: enhance envio integration with local chain configuration support
Oba-One Jul 15, 2025
d9707aa
Bugs/alpha-qa (#148)
Oba-One Jul 15, 2025
2273e98
Merge branch 'develop' into dependabot/npm_and_yarn/packages/indexer/…
Oba-One Jul 15, 2025
3eb25cb
Bump ws from 8.5.0 to 8.17.1 in /packages/indexer (#134)
Oba-One Jul 15, 2025
1c5c463
Bump brace-expansion from 1.1.11 to 1.1.12 in /packages/indexer
dependabot[bot] Jul 15, 2025
0ead558
Bump brace-expansion from 1.1.11 to 1.1.12 in /packages/indexer (#156)
Oba-One Jul 15, 2025
64846f4
fix: update local GraphQL endpoint in urql module
Oba-One Jul 15, 2025
62c2a18
feat: enhance offline work handling and internationalization support
Oba-One Jul 15, 2025
73a9148
fix: add debugging statement for error handling in WorkProvider and G…
Oba-One Jul 15, 2025
4aba5a8
fix: manage global smartAccountClient reference in UserProvider
Oba-One Jul 15, 2025
d095b67
Merge branch 'develop' of github.com:greenpill-dev-guild/green-goods …
Oba-One Jul 15, 2025
af0da93
feat: integrate smart account client into offline sync
Oba-One Jul 15, 2025
15448fc
chore: update .gitignore to include Playwright test results
Oba-One Jul 16, 2025
78b9b3e
chore: update dependencies and configuration for client package
Oba-One Jul 16, 2025
979ac32
feat: add mock implementations for browser APIs to enhance testing
Oba-One Jul 16, 2025
547d344
feat: add comprehensive offline testing utilities and enhance existin…
Oba-One Jul 16, 2025
da46193
feat: implement core hooks and modules for conflict resolution, offli…
Oba-One Jul 16, 2025
c20b04a
Merge branch 'develop' of github.com:greenpill-dev-guild/green-goods …
Oba-One Jul 19, 2025
e23905f
feat: add API package with Express server and Privy integration
Oba-One Jul 19, 2025
63a5792
chore: update indexer configuration and dependencies
Oba-One Jul 19, 2025
e6cd7bc
feat: add configuration module for application settings
Oba-One Jul 19, 2025
147aed0
fix: adjust logging behavior in tracking functions
Oba-One Jul 19, 2025
1bc11cd
chore: clean up indexer configuration and dependencies
Oba-One Jul 19, 2025
47aac66
feat: migrate API from Express to Fastify and update environment conf…
Oba-One Jul 20, 2025
6b4c158
chore: update dependencies and add logging command for API
Oba-One Jul 20, 2025
d20a28f
chore: remove @biomejs/biome from devDependencies in package.json
Oba-One Jul 20, 2025
a9d16bc
refactor: update API endpoint paths and CORS configuration
Oba-One Jul 20, 2025
56559de
chore: update environment variables and dependencies for client
Oba-One Jul 20, 2025
d3c00d7
chore: update biome configuration and pnpm lockfile
Oba-One Jul 20, 2025
cb5a75e
Merge branch 'develop' into enhancement/celo-deployment
Oba-One Jul 20, 2025
50bff04
Refactor deployment scripts for improved argument handling and logging
Oba-One Jul 20, 2025
47d3710
Merge branch 'enhancement/celo-deployment' of github.com:greenpill-de…
Oba-One Jul 20, 2025
08570ce
Remove sensitive environment variable sanitization from `garden-onboa…
Oba-One Jul 20, 2025
46daaf8
Refactor deployment scripts to improve argument handling and gas effi…
Oba-One Jul 20, 2025
aca0fc9
Update deployment scripts to accept multisig addresses for contract i…
Oba-One Jul 20, 2025
6c1b186
Potential fix for code scanning alert no. 11: Shell command built fro…
Oba-One Jul 20, 2025
7bd7800
Enhancement/celo-deployment (#155)
Oba-One Jul 20, 2025
6d63062
Merge branch 'develop' of github.com:greenpill-dev-guild/green-goods …
Oba-One Jul 20, 2025
607656a
Refactor UI components to improve className handling
Oba-One Jul 20, 2025
a14f356
Update offline ID formatting in WorkProvider for compatibility with C…
Oba-One Jul 20, 2025
e7f23a2
Update dependencies and refactor code structure for improved maintain…
Oba-One Jul 20, 2025
90afcd5
Enhance encodeWorkApprovalData function to include feedback parameter
Oba-One Jul 20, 2025
f659444
Fix Solidity syntax error in Deploy.s.sol
Oba-One Jul 20, 2025
fe0e141
Add architecture documentation for Green Goods platform
Oba-One Jul 20, 2025
359bed3
Add troubleshooting documentation for Green Goods platform
Oba-One Jul 20, 2025
ee52988
Enhance email validation and improve deployment script argument handling
Oba-One Jul 20, 2025
b33cc92
Potential fix for code scanning alert no. 15: Disabling certificate v…
Oba-One Jul 20, 2025
07ee1c8
Potential fix for code scanning alert no. 16: Disabling certificate v…
Oba-One Jul 20, 2025
8a802ad
Fix media assignment in getActions function to ensure correct image h…
Oba-One Jul 20, 2025
333298f
Update viem dependency to version 2.33.0 and refactor error handling …
Oba-One Jul 21, 2025
ddd5440
fix: format tests/run-tests.js
Oba-One Jul 21, 2025
cf952ba
Refactor date handling for registeredAt and createdAt fields across c…
Oba-One Jul 21, 2025
a21da83
Refactor deployment script functions for consistency and clarity
Oba-One Jul 21, 2025
e1ab08f
Refactor error handling in WorkProvider and GardenWorkApproval compon…
Oba-One Jul 21, 2025
5a9064c
Refactor date handling in greengoods and garden components to use Uni…
Oba-One Jul 21, 2025
5e20536
Feat/celo integration (#157)
Oba-One Jul 21, 2025
9146358
Merge branch 'develop' of github.com:greenpill-dev-guild/green-goods …
Oba-One Jul 21, 2025
8ebf2e8
Update dependencies and refactor offline sync logic
Oba-One Jul 21, 2025
30b0c66
Enhance development experience with conditional logging in PostHog fu…
Oba-One Jul 21, 2025
ed0db72
Add environment configuration files and setup script for development<…
Oba-One Jul 21, 2025
0a9f6b7
Refactor private key environment variable naming for consistency
Oba-One Jul 22, 2025
4b5ae4c
Update environment variable naming for Privy integration
Oba-One Jul 24, 2025
cd44bec
Refactor README and documentation for clarity and structure
Oba-One Jul 25, 2025
37551cd
Enhance Vitest configuration and test setup for improved reliability
Oba-One Jul 26, 2025
292b5a5
Add Zustand for state management and enhance offline functionality
Oba-One Jul 26, 2025
cc631a5
Add ModalDrawer, Switch, and StandardTabs components for UI enhancement
Oba-One Jul 27, 2025
222fde3
Remove obsolete tests and refactor offline functionality
Oba-One Jul 27, 2025
bdcd9f3
Add job queue and smart account types for enhanced type safety
Oba-One Jul 27, 2025
e3862e0
fix(eas): add data validation filters and improve null handling
Oba-One Aug 7, 2025
ec07ec0
fix(navigation): implement navigation for duplicate work items
Oba-One Aug 7, 2025
2bd30a0
test: add comprehensive tests for EAS data validation
Oba-One Aug 7, 2025
920356a
fix: resolve linting and formatting issues
Oba-One Aug 7, 2025
d5ec8da
refactor(ui): update UI components for offline support and improved UX
Oba-One Aug 7, 2025
20c4c6d
refactor(components): update Garden and Layout components
Oba-One Aug 7, 2025
0b210c5
feat(hooks): add new hooks and utilities for offline support
Oba-One Aug 7, 2025
dbac108
feat(modules): enhance modules and providers for offline support
Oba-One Aug 7, 2025
023ffa4
refactor(views): reorganize and enhance view components
Oba-One Aug 7, 2025
b03c39c
test: update test files for offline support
Oba-One Aug 7, 2025
8edfdf3
feat(types,styles,i18n): update types, styles, and translations
Oba-One Aug 7, 2025
9979735
feat(client): update client configuration
Oba-One Aug 7, 2025
f2a4051
chore(indexer): update indexer configuration
Oba-One Aug 7, 2025
a3fae91
feat: add new test infrastructure and public assets
Oba-One Aug 7, 2025
290664c
chore: update dependencies and add setup scripts
Oba-One Aug 7, 2025
56cab62
Enhance garden management scripts and dependencies
Oba-One Aug 8, 2025
39e3f80
Add findBlockByTimestamp method to GardenAnalytics for block retrieva…
Oba-One Aug 8, 2025
f8e7618
Update CAPITAL_TYPES enum in garden-utils.js to correct type mappings
Oba-One Aug 8, 2025
6ada12d
fix: improve environment variable handling and query invalidation
Oba-One Aug 8, 2025
3ce3c41
refactor(Garden): update Work component and hooks for improved struct…
Oba-One Aug 8, 2025
0d1210e
feat(Garden): enhance loading states and improve component structure
Oba-One Aug 9, 2025
300c8f9
refactor(tests): reorganize imports and improve test structure
Oba-One Aug 9, 2025
ad6a8ab
refactor(deploy): improve private key handling and logging in deploym…
Oba-One Aug 9, 2025
cb52247
feat(Garden): integrate react-window for improved performance and upd…
Oba-One Aug 9, 2025
cd6a408
refactor(Garden): update action ID handling for improved consistency …
Oba-One Aug 9, 2025
c58d8a6
refactor(Garden): streamline component structure and improve styling
Oba-One Aug 9, 2025
bbbeaa8
feat(Tabs): implement scroll reset functionality on tab change
Oba-One Aug 9, 2025
93f7857
refactor(Garden): enhance action ID handling in WorkIntro component
Oba-One Aug 9, 2025
c7af897
refactor(UI): enhance touch target areas for improved accessibility
Oba-One Aug 9, 2025
8bd8b9b
feat(Home): replace BeatLoader with GardenCardSkeleton for improved l…
Oba-One Aug 9, 2025
c343094
refactor(Garden): improve action ID handling and work submission logic
Oba-One Aug 9, 2025
e4f460c
refactor(Garden): enhance action ID handling and submission logic
Oba-One Aug 9, 2025
d928d46
refactor(config): centralize chain ID management across components
Oba-One Aug 9, 2025
41615ab
refactor(Routing): implement new routing structure with React Router
Oba-One Aug 9, 2025
c762806
refactor(Garden): remove scroll handling from components for cleaner …
Oba-One Aug 11, 2025
d987f85
chore: update Node version and enhance development workflow
Oba-One Aug 11, 2025
81b0512
feat(UI): add ActionCardSkeleton and enhance loading states in WorkIntro
Oba-One Aug 11, 2025
21e8a85
refactor(config): improve environment variable loading and server con…
Oba-One Aug 11, 2025
adac224
feat(ImagePreviewDialog): add tests and enhance functionality
Oba-One Aug 12, 2025
1ed3261
feat(Faq): enhance FAQ component and update social links in ProfileHelp
Oba-One Aug 12, 2025
eac7b12
feat(UserProfile): add user metadata update functionality
Oba-One Aug 12, 2025
df0c4b4
refactor(App): simplify App component structure and enhance routing
Oba-One Aug 14, 2025
59f6ec8
refactor(Client): update development configuration and dependencies
Oba-One Aug 14, 2025
6c55d6a
refactor(tests): clean up and remove obsolete test files
Oba-One Aug 14, 2025
287ad01
feat(rules): add project-wide and package-specific engineering princi…
Oba-One Aug 14, 2025
d6d59f1
fix(client): format GardenCard.tsx with Biome
Oba-One Aug 14, 2025
f6dc001
refactor(tests): update test configurations and enhance mock implemen…
Oba-One Aug 14, 2025
522f866
chore(analytics): turn off PostHog logs in dev; make debug opt-in\n\n…
Oba-One Aug 14, 2025
71feda8
fix(auth): redirect only when authenticated AND smart account ready\n…
Oba-One Aug 14, 2025
adbf43e
chore(dev): prevent orphan client on :3001; fail fast if taken; dev S…
Oba-One Aug 14, 2025
dd19bec
fix(job-queue): use submitter's smart account for optimistic Work.gar…
Oba-One Aug 14, 2025
1bc826e
feat(work): replace WorkDashboard with WorkView; add ConfirmDrawer an…
Oba-One Aug 14, 2025
f3756e6
feat(ui): restyle Toaster; add large tap targets to icon buttons\n\n-…
Oba-One Aug 14, 2025
7181a0d
feat(ui/garden-card): CSS-only image placeholder; remove placeholder …
Oba-One Aug 14, 2025
810a462
chore(lint): clean imports/types and guard renders; remove dead condi…
Oba-One Aug 14, 2025
efdfe3f
fix(actions): align client with chain-prefixed action IDs\n\n- Use co…
Oba-One Aug 14, 2025
5cff563
feat(i18n): enhance FAQs and UI text across English, Spanish, and Por…
Oba-One Aug 14, 2025
820b051
refactor(job-queue): streamline job processing and enhance inline exe…
Oba-One Aug 14, 2025
e2f1a65
feat(config): load environment variables and enhance Playwright confi…
Oba-One Aug 14, 2025
1ebd981
feat(gardeners): enhance gardener item display and interaction\n\n- I…
Oba-One Aug 14, 2025
4f282e4
refactor(imports): reorganize imports and enhance type exports\n\n- M…
Oba-One Aug 14, 2025
52de468
Enhance garden management scripts and dependencies (#162)
Oba-One Aug 14, 2025
31ae320
Merge branch 'develop' of github.com:greenpill-dev-guild/green-goods …
Oba-One Aug 14, 2025
df35186
refactor: clean up unused job queue imports and streamline navigation…
Oba-One Aug 14, 2025
b2aea07
refactor: update configuration and remove unused files\n\n- Disabled …
Oba-One Aug 14, 2025
58b8d54
fix(lint): streamline lint command in package.json\n\n- Updated the l…
Oba-One Aug 16, 2025
b162ebf
refactor: remove unused debounced hooks\n\n- Deleted the `useDebounce…
Oba-One Aug 16, 2025
dfbda72
chore: update dependencies and enhance application structure
Oba-One Aug 16, 2025
6528beb
fix: update embedded wallet creation logic and enhance user context h…
Oba-One Aug 16, 2025
e5c3488
refactor: update work submission return type and optimize job queue f…
Oba-One Aug 16, 2025
b749071
chore: simplify pre-push linting command\n\n- Removed the error-on-wa…
Oba-One Aug 16, 2025
d8dcd63
refactor: improve job queue filtering and clean up user provider\n\n-…
Oba-One Aug 16, 2025
e5a1a9e
docs: update README and architecture documentation for clarity and ac…
Oba-One Aug 17, 2025
a1b5c5c
feat: implement offline work handling and synchronization (#149)
Oba-One Aug 17, 2025
abf7192
chore(deps): bump @openzeppelin/contracts-upgradeable
dependabot[bot] Aug 17, 2025
52e2cdd
chore(deps): bump @openzeppelin/contracts-upgradeable from 4.9.3 to 4…
Oba-One Aug 17, 2025
26e72d2
feat(admin): implement Green Goods admin dashboard package
cursoragent Sep 2, 2025
2269176
Update pnpm-lock.yaml with new dependencies for admin package
cursoragent Sep 2, 2025
003bf33
feat(admin): enhance testing infrastructure and update environment co…
Oba-One Sep 5, 2025
04a77b2
Feat/admin-dashboard (#180)
Oba-One Sep 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
29 changes: 29 additions & 0 deletions .biomeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# External libraries and dependencies
packages/contracts/lib/
packages/indexer/
**/node_modules/
**/generated/
**/*.generated.*
**/*.bs.js

# Build outputs
**/dist/
**/build/
**/out/
**/cache/
**/broadcast/
**/coverage/

# CSS files (handled by other tools)
**/*.css

# Environment and config files
**/*.env
**/*.log
**/.DS_Store
**/.pnp.*
**/bun.lockb
**/lcov.info
**/package-lock.json
**/pnpm-lock.yaml
**/yarn.lock
38 changes: 38 additions & 0 deletions .cursor/rules/rules.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
description: Green Goods — project-wide engineering principles, tooling, DX, and repo workflow.
alwaysApply: false
---
# Green Goods — Project-Wide Rules

## Monorepo & Packages
- This is a pnpm workspace monorepo with packages: `client` (PWA), `api` (backend), `contracts` (Foundry), `indexer` (Envio), `mcp` (Model Context Protocol server). Keep inter-package boundaries clean; share via published interfaces, not deep imports.

## Tooling & Quality Gates
- Use **TypeScript strict** everywhere. Generate small, focused modules with explicit exports.
- **Formatting/Linting:** use **Biome** for formatting and **oxlint (0xlint)** for linting; do not add Prettier/ESLint. Ensure staged changes pass hooks (Husky runs format/lint/tests).
- Keep CI fast: write tests that are deterministic and parallel-safe. Prefer unit tests at package level; add E2E in `/tests` for cross-package flows.

## Secrets & Env
- Never commit secrets. Provide `.env.example` in each package with doc comments. Read from `process.env` at the edge; validate via Zod (or package-native schema).

## Git & PRs
- Conventional commits. Small PRs with: summary, screenshots/GIFs for UI, checklist (lint/type/tests), and notes on DX/ops impact.
- When adding features, update relevant READMEs and runbooks in `/docs`.

## Observability & Errors
- Standardize error shapes (`{ code, message, details? }`) across API/client. In UI, surface friendly copy + a “Copy error details” affordance.

## Accessibility & i18n
- Follow WCAG AA, keyboard navigability, focus rings, ARIA where needed. All user-facing copy in i18n dictionaries; avoid hard-coded strings.

# Lifecycle & PR Expectations

## Stage-gated deliverables
- **Seedling/Alpha:** ship 1–2 core features, a landing page, brand kit basics, ToS/Privacy, basic QA notes.
- **Beta:** refine flows, add user guide, GTM notes, app metrics (active users, task completion, photo doc rate).
- **Release:** perf budgets, error budgets, observability, and scale/readiness items documented.

## Every Feature PR Must Include
- Update to `.env.example` if new env vars introduced.
- Tests: unit (touched files ≥80% coverage) + at least one E2E happy path if user-critical.
- Migration/rollback notes if data or contracts change.
107 changes: 107 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# ==========================================
# GREEN GOODS MONOREPO ENVIRONMENT CONFIG
# ==========================================
# Copy this file to .env and fill in your actual values
# This root .env file is used by all packages when running the full development environment
#
# Quick Setup:
# 1. cp .env.example .env
# 2. Edit .env with your actual values
# 3. pnpm i (installs dependencies)
# 4. pnpm dev (starts all services)
#
# For package isolation, see individual package .env.example files

# ==========================================
# ANALYTICS & MONITORING 📈
# ==========================================
# Get from: https://posthog.com
VITE_PUBLIC_POSTHOG_KEY="your-posthog-key" # 📱 Client: Analytics tracking
VITE_PUBLIC_POSTHOG_HOST="your-posthog-host" # 📱 Client: Analytics host (e.g., https://app.posthog.com)

# ==========================================
# PRIVY AUTHENTICATION 🔐
# ==========================================
# Get these from: https://console.privy.io
VITE_PRIVY_APP_ID="your-privy-app-id" # 📱 Client: Public Privy app ID
PRIVY_APP_ID="your-privy-app-id" # 🖥️ API: Same as above for server-side
PRIVY_APP_SECRET_ID="your-privy-app-secret" # 🔑 API: Server-side Privy secret
PRIVY_CLIENT_ID="your-privy-client-id" # 🔗 Contracts: Alternative client ID

# WalletConnect/Reown AppKit
VITE_WALLETCONNECT_PROJECT_ID=your_walletconnect_project_id_here

# Privy Test Accounts (for E2E testing) 🧪
# Dashboard: User management > Authentication > Advanced > Enable test accounts
PRIVY_TEST_EMAIL="[email protected]" # 📧 Replace with your test email
PRIVY_TEST_PHONE="+1 555 555 3487" # 📱 Replace with your test phone
PRIVY_TEST_OTP="123456" # 🔢 Replace with your test OTP

# ==========================================
# TESTING CONFIGURATION 🧪
# ==========================================
SKIP_WEBSERVER="true" # �� Tests: Skip Playwright web server startup
VITE_DESKTOP_DEV="true" # 📱 Client: Allow desktop development

# ==========================================
# FILE STORAGE (Pinata) 📁
# ==========================================
# Get from: https://pinata.cloud
VITE_PINATA_JWT="your-pinata-jwt" # 📱 Client: Public file uploads
PINATA_JWT="your-pinata-jwt" # 📜 Contracts: Can be the same as above or different

# ==========================================
# INDEXER
# ==========================================
VITE_ENVIO_INDEXER_URL="your-indexer-url" # 📱 Client: GraphQL indexer endpoint
ENVIO_API_TOKEN="your-envio-api-token" # 🔍 Indexer: Get from https://envio.dev/app/api-tokens

# ==========================================
# API CONFIGURATION 🖥️
# ==========================================
PORT="3000" # 🚪 API: Server port

# Database URLs 🗄️
POSTGRES_URL="your-postgres-url" # 🐘 API: Main database
REDIS_URL="your-redis-url" # 🔴 API: Cache/sessions

# ==========================================
# BLOCKCHAIN CONFIGURATION ⛓️
# ==========================================
VITE_CHAIN_ID="42161" # 📱 Client: Current chain (42161=Arbitrum, 84532=Base Sepolia, 42220=Celo)
NODE_ENV="development" # 🌍 All: Environment mode

# Private Keys (KEEP SECURE!) 🔐
PRIVATE_KEY="your-deployment-private-key" # 🔑 Contracts/API: Without 0x prefix
ALCHEMY_API_KEY="your-alchemy-api-key" # 🔗 API: For blockchain interactions

# Network RPC URLs 🌐
LOCALHOST_RPC_URL="http://localhost:8545"
SEPOLIA_RPC_URL="https://sepolia.infura.io/v3/YOUR_INFURA_KEY"
ARBITRUM_RPC_URL="https://arbitrum-mainnet.infura.io/v3/YOUR_INFURA_KEY"
BASE_RPC_URL="https://base-mainnet.infura.io/v3/YOUR_INFURA_KEY"
BASE_SEPOLIA_RPC_URL="https://sepolia.base.org"
OPTIMISM_RPC_URL="https://optimism-mainnet.infura.io/v3/YOUR_INFURA_KEY"
CELO_RPC_URL="https://forno.celo.org"

# ==========================================
# CONTRACT DEPLOYMENT ⚙️
# ==========================================
# Block Explorer API Keys 🔍
ETHERSCAN_API_KEY="your-etherscan-api-key" # 📜 Contracts: For verification

# Deployment Configuration 🚀
DEPLOY_WITH_SAMPLE_DATA="false" # 📜 Contracts: Include test data
DEPLOYMENT_SALT="0x6551655165516551655165516551655165516551655165516551655165516551"
GUARDIAN_ADDRESS="" # 📜 Contracts: Defaults to deployer

# Gas Configuration (optional) ⛽
GAS_PRICE_GWEI="" # 📜 Contracts: Manual gas price
GAS_LIMIT="" # 📜 Contracts: Manual gas limit

# Fork Configuration (optional) 🍴
FORK_BLOCK_NUMBER="" # 📜 Contracts: For testing
FORK_CHAIN_ID="" # 📜 Contracts: For testing

# External Services (optional) 🌐
BLOCKNATIVE_API_KEY="" # 📜 Contracts: Gas optimization
113 changes: 113 additions & 0 deletions .github/workflows/admin-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
name: Admin Dashboard Tests

on:
push:
branches: [ main, develop, 'cursor/implement-admin-dashboard-package-*' ]
paths:
- 'packages/admin/**'
pull_request:
branches: [ main, develop ]
paths:
- 'packages/admin/**'

jobs:
unit-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run unit tests
run: |
cd packages/admin
pnpm test:unit
env:
CI: true

- name: Generate coverage report
run: |
cd packages/admin
pnpm test:coverage
env:
CI: true

- name: Upload coverage reports
uses: codecov/codecov-action@v4
with:
directory: packages/admin/coverage
flags: admin-dashboard

integration-tests:
Comment on lines +15 to +53

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 17 days ago

To resolve this issue, add an explicit permissions block to the workflow YAML. This can be added at the root of the workflow (above or below the name: and on: keys, but before jobs:) to serve as the default for all jobs. Since the workflow only needs to check out code and upload coverage reports, the minimal permission needed is typically contents: read. If the codecov/codecov-action@v4 step or any other step requires additional permissions, these can be expanded appropriately. However, in almost all CI testing/coverage/linting jobs, contents: read suffices.
Change needed: Insert at the root of .github/workflows/admin-tests.yml (after name: and before or after on:), the following:

permissions:
  contents: read

No new methods, imports, or definitions are necessary—just this addition to the workflow file.


Suggested changeset 1
.github/workflows/admin-tests.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/admin-tests.yml b/.github/workflows/admin-tests.yml
--- a/.github/workflows/admin-tests.yml
+++ b/.github/workflows/admin-tests.yml
@@ -1,5 +1,8 @@
 name: Admin Dashboard Tests
 
+permissions:
+  contents: read
+
 on:
   push:
     branches: [ main, develop, 'cursor/implement-admin-dashboard-package-*' ]
EOF
@@ -1,5 +1,8 @@
name: Admin Dashboard Tests

permissions:
contents: read

on:
push:
branches: [ main, develop, 'cursor/implement-admin-dashboard-package-*' ]
Copilot is powered by AI and may make mistakes. Always verify output.
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run integration tests
run: |
cd packages/admin
pnpm test:integration
env:
CI: true
VITEST_INTEGRATION: true
VITE_BASE_SEPOLIA_RPC: ${{ secrets.BASE_SEPOLIA_RPC }}
TEST_PRIVATE_KEY: ${{ secrets.TEST_PRIVATE_KEY }}

lint-and-format:
Comment on lines +54 to +86

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 17 days ago

To fix the problem, you should add a permissions block at the top level of the workflow file, immediately following the workflow name and before the on: trigger section, to set minimal required permissions for all jobs. Based on the observed steps, none of the jobs require write access—they only check out code, run tests, generate and upload reports. The minimal necessary permission for public repositories (and most CI workflows) is usually contents: read. Unless there is a known need in these jobs for additional scopes, you can confidently start with this restrictive setting. If you later need specific write access (for example, uploading artifacts to releases), expand only as needed.

Where to change:
Edit .github/workflows/admin-tests.yml by inserting the following block after name: Admin Dashboard Tests:

permissions:
  contents: read

Additional info:
No other code, imports, or definitions are required.


Suggested changeset 1
.github/workflows/admin-tests.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/admin-tests.yml b/.github/workflows/admin-tests.yml
--- a/.github/workflows/admin-tests.yml
+++ b/.github/workflows/admin-tests.yml
@@ -1,4 +1,6 @@
 name: Admin Dashboard Tests
+permissions:
+  contents: read
 
 on:
   push:
EOF
@@ -1,4 +1,6 @@
name: Admin Dashboard Tests
permissions:
contents: read

on:
push:
Copilot is powered by AI and may make mistakes. Always verify output.
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run linting
run: |
cd packages/admin
pnpm lint

- name: Check formatting
run: |
cd packages/admin
pnpm format --check
Comment on lines +87 to +113

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 17 days ago

The best way to fix this problem is to explicitly add a permissions block at the root of the workflow file, setting the default required permission for all jobs to contents: read. This is the minimal permission required for the code checkout step (actions/checkout), and is a safe minimal base since none of the jobs appear to require write permissions (e.g., releasing, pushing code, or making pull requests). If uploading coverage needed write access to pull requests, additional permissions could be granted accordingly, but the best starting point is the recommended contents: read.
Change required:

  • Insert the following under the first line (name: Admin Dashboard Tests) as a new second line:
    permissions:
      contents: read

Suggested changeset 1
.github/workflows/admin-tests.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/admin-tests.yml b/.github/workflows/admin-tests.yml
--- a/.github/workflows/admin-tests.yml
+++ b/.github/workflows/admin-tests.yml
@@ -1,4 +1,6 @@
 name: Admin Dashboard Tests
+permissions:
+  contents: read
 
 on:
   push:
EOF
@@ -1,4 +1,6 @@
name: Admin Dashboard Tests
permissions:
contents: read

on:
push:
Copilot is powered by AI and may make mistakes. Always verify output.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ out
.nuxt
dist

# Vite dev build output
dev-dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
Expand Down Expand Up @@ -130,3 +133,7 @@ dist
.yarn/install-state.gz
.pnp.*
.vercel

# Playwright test results
test-results/
playwright-report/
24 changes: 24 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -euo pipefail

# Ensure nvm is available and use Node 22 if possible
export NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
# Try to use project Node version (22) silently; ignore errors if nvm is missing
nvm use --silent 22 >/dev/null 2>&1 || true

# Ensure pnpm is available (via corepack if needed)
if ! command -v pnpm >/dev/null 2>&1; then
if command -v corepack >/dev/null 2>&1; then
corepack enable >/dev/null 2>&1 || true
corepack prepare pnpm@latest --activate >/dev/null 2>&1 || true
fi
fi

# Run lint-staged using pnpm if present, otherwise fall back to npx
if command -v pnpm >/dev/null 2>&1; then
pnpm lint-staged
else
npx --no-install lint-staged
fi

11 changes: 11 additions & 0 deletions .husky/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env sh

echo "🔍 Running format check and linting before push..."

# Run format check first
npx pnpm format:check

# Run linting
npx pnpm lint

echo "✅ Pre-push checks passed!"
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v20
v22
41 changes: 41 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"$schema": "https://raw.githubusercontent.com/oxc-project/oxc/main/crates/oxc_linter/src/config/oxlintrc.schema.json",
"plugins": ["react", "typescript", "jsx-a11y"],
"env": {
"browser": true,
"es2021": true,
"node": true
},
"ignorePatterns": [
"api/**",
"dev-dist/**",
"dist/**",
"node_modules/**",
"**/*.test.ts",
"**/*.test.tsx",
"**/__tests__/**"
],
"rules": {
"react/react-in-jsx-scope": "off",
"react/prop-types": "off",
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error",
"react/no-unescaped-entities": "warn",
"react/no-unknown-property": "error",
"@typescript-eslint/no-unused-vars": "warn",
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/prefer-const": "error",
"no-console": "warn",
"no-debugger": "error",
"no-unused-vars": "warn",
"prefer-const": "error",
"no-var": "error",
"eqeqeq": "error",
"no-duplicate-imports": "error"
},
"settings": {
"react": {
"version": "detect"
}
}
}
Loading
Loading