Skip to content

[DOCS] Add safe .env.example and local setup guide for contributors #20

@Obiajulu-gif

Description

@Obiajulu-gif

Overview

Create a safe contributor-friendly .env.example file and improve the local setup instructions so external contributors can run ChainMove without receiving maintainer API keys.

Problem

The project depends on services like MongoDB, Privy, Paystack, Resend, and planned Stellar infrastructure. Contributors need clear placeholder variables and mock-mode instructions so they do not ask for or accidentally expose private credentials.

Expected solution

  • Add .env.example with safe placeholder values only.
  • Document how to copy it to .env.local.
  • Explain which variables are required, optional, or mock-only.
  • Confirm .env* remains ignored by Git.
  • Add mock-mode flags for payments, email, and Stellar.

Suggested variables

NEXT_PUBLIC_APP_URL=http://localhost:3000
MONGODB_URI=mongodb://localhost:27017/chainmove
JWT_SECRET=replace_with_local_dev_secret
NEXT_PUBLIC_PRIVY_APP_ID=replace_with_privy_app_id
PRIVY_APP_SECRET=replace_with_privy_secret
PRIVY_JWKS_URL=replace_with_privy_jwks_url
PAYSTACK_SECRET_KEY=replace_with_paystack_test_secret
PAYSTACK_DVA_PREFERRED_BANK=test-bank
RESEND_API_KEY=replace_with_resend_key
STELLAR_NETWORK=testnet
STELLAR_HORIZON_URL=https://horizon-testnet.stellar.org
STELLAR_RPC_URL=https://soroban-testnet.stellar.org
STELLAR_ASSET_CODE=CMOVE
STELLAR_ISSUER_PUBLIC_KEY=replace_with_public_key
STELLAR_DISTRIBUTION_PUBLIC_KEY=replace_with_public_key
STELLAR_CONTRACT_ID=replace_after_deployment
ENABLE_MOCK_PAYMENTS=true
ENABLE_MOCK_EMAILS=true
ENABLE_MOCK_STELLAR=true

Files likely involved

  • .env.example
  • README.md
  • CONTRIBUTING.md

Acceptance criteria

  • No real secret or private key is committed.
  • .env.example contains only placeholders.
  • README explains local setup clearly.
  • Contributors can understand how to run the app without maintainer keys.

Suggested labels

documentation, good first issue, security, developer-experience

Difficulty

Good first issue

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaign

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions