You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
StellarFlow has a README but no CONTRIBUTING.md. New contributors — especially those coming in through Drip Wave — have no guidance on how to set up the dev environment, what the code conventions are, how to run tests, or what a PR needs to include to get merged. This issue creates a thorough CONTRIBUTING.md that makes the contributor experience smooth and reduces back-and-forth in PR reviews.
Files to Create/Modify
Create:CONTRIBUTING.md at the repo root
Modify:README.md — add a "Contributing" badge and link to CONTRIBUTING.md near the top
Required sections (in order)
Prerequisites — table of Node.js ≥18, npm ≥9, Git, Freighter (testnet), Bruno (optional)
Local Development Setup — fork/clone, npm install, npm run dev, fund a testnet account via Friendbot, add a USDC trustline for swap testing
Project Structure — annotated file tree with a "rule of thumb" for where new code goes (lib/stellar.ts for blockchain ops, pages/ for routes, components/ for shared UI, hooks/ for data fetching)
Code Style & Conventions — TypeScript-only, named vs default exports, Tailwind-only styling with the existing design tokens, try/catch + toast.error() for all async errors, no hardcoded addresses, import type for type-only imports, 28-byte memo enforcement
Working with the Stellar SDK — the standard "load account → build tx → return XDR" pattern, why submitTx from stellar.ts must be used instead of server.submitTransaction, and a Horizon error code reference table (op_underfunded, op_no_trust, op_no_destination, tx_bad_seq)
Testing Your Changes — manual checklist (build passes, lint passes, tested in Chrome+Freighter testnet, tested at 390px mobile width, no console errors) plus feature-specific test notes for Send, Swap, Recurring, and Request/Pay
Submitting a PR — branch naming conventions (feat/, fix/, docs/, refactor/), Conventional Commits format, and a full PR description template with Closes #XX
PR Checklist — at least 12 items covering issue linking, build/lint, screen recording, hardcoded addresses, error states, mobile responsiveness, Tailwind tokens, console.log cleanup, route/nav registration, hook cleanup, and submitTx usage
Getting Help — GitHub Discussions, GitHub Issues, Stellar Developer Discord, Stellar docs, Horizon API reference
Acceptance Criteria
CONTRIBUTING.md exists at the repo root
All 9 sections present: Prerequisites, Setup, Structure, Code Style, SDK guide, Testing, PR submission, Checklist, Help
Local dev setup steps work exactly as written (tested on a fresh clone)
Code style rules match the actual patterns in the existing codebase
Horizon error code table is accurate
Branch naming and commit message conventions are clearly defined
PR description template is included and uses GitHub's issue-linking syntax (Closes #XX)
PR checklist has at least 12 items covering build, lint, screen recording, mobile, and Stellar-specific rules
README.md updated to link to CONTRIBUTING.md
No broken links in the document
Screen Recording Requirements
A fresh clone of the repo — run npm install and npm run dev exactly as the guide describes
The app opens at http://localhost:5173 without errors
Scroll through CONTRIBUTING.md rendered on GitHub to show all sections are present and formatted
Show the PR template by opening a draft PR on GitHub — confirm the template auto-fills
Complexity: Medium — 150 pts
Summary
StellarFlow has a README but no
CONTRIBUTING.md. New contributors — especially those coming in through Drip Wave — have no guidance on how to set up the dev environment, what the code conventions are, how to run tests, or what a PR needs to include to get merged. This issue creates a thoroughCONTRIBUTING.mdthat makes the contributor experience smooth and reduces back-and-forth in PR reviews.Files to Create/Modify
CONTRIBUTING.mdat the repo rootREADME.md— add a "Contributing" badge and link toCONTRIBUTING.mdnear the topRequired sections (in order)
npm install,npm run dev, fund a testnet account via Friendbot, add a USDC trustline for swap testingtry/catch+toast.error()for all async errors, no hardcoded addresses,import typefor type-only imports, 28-byte memo enforcementsubmitTxfromstellar.tsmust be used instead ofserver.submitTransaction, and a Horizon error code reference table (op_underfunded,op_no_trust,op_no_destination,tx_bad_seq)feat/,fix/,docs/,refactor/), Conventional Commits format, and a full PR description template withCloses #XXsubmitTxusageAcceptance Criteria
CONTRIBUTING.mdexists at the repo rootCloses #XX)README.mdupdated to link toCONTRIBUTING.mdScreen Recording Requirements
npm installandnpm run devexactly as the guide describeshttp://localhost:5173without errorsCONTRIBUTING.mdrendered on GitHub to show all sections are present and formatted