chore: add community health files and GitHub setup script - #20
Conversation
collinsezedike
left a comment
There was a problem hiding this comment.
Really solid infrastructure PR
The DeFi-specific issue templates, the honest changelog with pending issue links, and the thoughtful dependabot config (especially pinning the Stellar SDK to minor-only updates) all set a high bar for the project.
One thing to fix before this goes public: the next-intl reference in the Unreleased section needs updating since Next.js is gone. The SECURITY.md SLA is also worth revisiting given there is a just one maintainer. Everything else is nits.
| - Unsigned Soroban deposit/withdraw transaction XDR builder | ||
| - Soroban router contract for atomic single-transaction rebalancing | ||
| - Yield history sparkline chart per vault | ||
| - French/English i18n with `next-intl` and locale detection |
There was a problem hiding this comment.
next-intl is a Next.js-specific library and won't work with the Vite frontend from PR #3. Update this to a Vite-compatible alternative like react-i18next, or keep it framework-agnostic for now until i18n is actually scoped.
|
|
||
| | Stage | Target | | ||
| |---|---| | ||
| | Acknowledgement | Within **48 hours** of receipt | |
There was a problem hiding this comment.
A 48hr response SLA with no backup contact is risky for a solo maintainer. One unavailable weekend and a critical mainnet vulnerability flies unacknowledged. Either soften this to "best effort within 48 hours" or add a secondary contact for Critical-severity reports.
|
|
||
| <!-- What other approaches did you consider and why did you reject them? --> | ||
|
|
||
| ## Acceptance Criteria |
There was a problem hiding this comment.
Nit: the three empty - [ ] acceptance criteria checkboxes will be submitted literally by contributors who don't read the template carefully.
Replace them with <!-- - [ ] e.g. User can deposit USDC into a Blend vault --> so they're instructional but don't pre-populate the issue.
There was a problem hiding this comment.
Nit: target-branch isn't set, so Dependabot defaults to main. Fine for now, but worth making explicit so a future branching strategy change doesn't silently affect where dependency PRs land.
drydocs#557 lengthened migrate_adapter's MIN_LEDGER_GAP cooldown from ~1 minute to ~1 day. The migration keeper didn't special-case the resulting MigrationCooldownNotMet rejection, so it fell into the generic failure path: every hourly run during that ~1-day window produced an HTTP 500 and a failure log entry, undermining the timelock's purpose of giving observers a calm window to watch for a malicious begin_migration. Adds isMigrationCooldownError (packages/stellar-sdk-helpers/src/keeper-tx.ts), matching the contract's MigrationCooldownNotMet = 20 (packages/contracts/vault/src/errors.rs) in the raw simulation error text, the same message-text approach isStaleAdapterError already uses (withKeeperRetry's wrapping loses the original error's type). migration-keeper.ts now checks it before the existing isStaleAdapterError check and reports a skip instead of a failure; api/v1/keepers/[action].ts needs no changes, since its 'failures.length > 0 ? 500 : 200' status logic already does the right thing once the count is accurate. Also fixes a stale comment describing the bug as intended behavior ('comfortably fine given MIN_LEDGER_GAP is ~1 minute'), and updates apps/docs/operations/migration-keeper.md, which already documented this exact gap as a tracked follow-up. Verified: pnpm typecheck clean, 75/75 tests pass (2 new: a unit test for isMigrationCooldownError and an integration test asserting the full runMigrationKeeper path reports skipped/not failures/no retry for a drydocs#20 simulation rejection), apps/docs vitepress build succeeds, and prettier --check passes on every changed file.
Description
Adds all community health files required for a professional open-source DeFi project and the Drips Stellar Wave Program. This sets up the full contributor infrastructure — issue templates, changelog, code of conduct, security policy, dependabot, and a GitHub setup script for labels, issues, and Discussions.
Related Issue
N/A — repository infrastructure work.
Type of Change
chore— build, CI, or dependency updateContext (DeFi / Stellar)
Changes
.github/ISSUE_TEMPLATE/bug_report.md— DeFi-specific bug report template (network, wallet, protocol, tx hash fields).github/ISSUE_TEMPLATE/feature_request.md— Feature request with scope table.github/ISSUE_TEMPLATE/config.yml— Disables blank issues; links to Discussions and Stellar Discord.github/dependabot.yml— Weekly npm + Actions dependency updatesCHANGELOG.md— Keep a Changelog format with[Unreleased]and[0.1.0]entriesCODE_OF_CONDUCT.md— Project code of conduct; enforcement contact: collinsezedike@gmail.comSECURITY.md— DeFi-grade security policy covering scope, private reporting, 48hr SLA, mainnet contracts = CriticalCONTRIBUTING.md— Updated withStellar Wavelabel info and markdown fixesPULL_REQUEST_TEMPLATE.md— Updated with Network, Protocol affected, and Wallet fieldsscripts/setup-github.sh— Idempotentghscript: 17 labels, 13 new issues, Discussions setupChecklist
chore/community-healthchore: add community health files and GitHub setup script.envfiles, secrets, or private keys