--- name: avax-frontend-playbook description: Take an Avalanche UI from a local fork to a reviewable release with coherent chains and transaction states. --- # Frontend integration and delivery 1. Identify framework, router, wallet adapter and deployment mount. Reuse existing choices unless change is required. Finish with a runnable entry point and shared chain/address configuration. 2. Choose fixture, isolated fork, Fuji or C-Chain read-only explicitly. A fork can use chain ID 43114 while remaining loopback; the number does not make it mainnet. Label synthetic balances and block public submission of local-only plans. 3. Connect a real flow using its manifest, verified decimals and amount-specific quote. Bind owner, spender, recipient and chain. Show approval separately, wait for success, refresh evidence, then simulate the operation. A vault API without minShares cannot enforce a promised share floor. 4. Track per-action state and request identity. Account/chain/input changes invalidate old responses. Handle denial, replacement, revert and receipt delay; enable each action only when current prerequisites hold. 5. Exercise wrong network, connection/approval rejection, insufficient gas, revert, replacement and balance reconciliation. Include mobile wallet return, keyboard use, long addresses, error announcements and refresh. A controlled wallet fixture does not establish compatibility with every wallet. 6. Verify assets, deep links, refresh, trailing slashes and explorer targets under the intended mount. Derive copied URLs from the served origin and check generated-source fidelity. 7. Prepare artifact and recovery instructions. After authorized publication, fetch deployed assets and exercise deployed interactions; local screenshots and uploads are not production verification. ## Reproduce app and library checks Commands resolve from the executable bundle root. `node examples/core/verify.mjs` drives a local contract/browser/indexer slice. `node --test examples/core/indexer.test.mjs examples/core/wallet-machine.test.mjs` checks focused asynchronous and indexing failures. `node research/parity-dexes/fork-execution.mjs` proves local swaps but not a browser. Website tests prove discovery and downloads, not protocol execution. For this library, build with `python3 scripts/build.py`, then run previews in separate processes: ```sh python3 scripts/serve.py --port 4179 python3 scripts/serve.py --port 4180 --mount /preview/ ``` Run `node scripts/qa.mjs` and `node scripts/qa_final.mjs` while both previews are active. These are loopback development previews, not a public service. **Deliver:** artifact hash; chain/RPC mode; observed wallet states; mobile/deep-link results; limitations; publication status. Sources: [EIP-1193](https://eips.ethereum.org/EIPS/eip-1193), [simulation](https://viem.sh/docs/contract/simulateContract), [Avalanche Primary Network](https://build.avax.network/docs/primary-network).