डॉक्सDocumentationContributingIntroduction

परिचय

open-sourced Appbox frontend के आधिकारिक दस्तावेज़ों में आपका स्वागत है।

Appbox दस्तावेज़ों में आपका स्वागत है
हमें यह बताते हुए खुशी है कि Appbox का frontend अब GitHub पर open-sourced है। हमारा उद्देश्य ऐसा सहयोगी समुदाय बनाना है जो दस्तावेज़ीकरण में योगदान दे, नए frontend features विकसित करे, और पूरे Appbox experience को बेहतर बनाने में मदद करे।

हमारा दस्तावेज़ीकरण अभी शुरुआती चरण में है, लेकिन हम अपने क्षेत्र के दूसरे platforms जैसी व्यापक resource बनाने पर काम कर रहे हैं। फिलहाल हमारे docs मुख्य रूप से contribution guidelines पर केंद्रित हैं, लेकिन आगे हम Appbox पर उपलब्ध सभी apps के लिए विस्तृत जानकारी जोड़ने की योजना रखते हैं।

जब तक हमारा दस्तावेज़ीकरण और विस्तृत नहीं हो जाता, specific apps या services से जुड़े तात्कालिक सवालों के लिए कृपया हमारी legacy knowledge base देखें। अगर आपको technical support चाहिए, तो सहायता के लिए ticket submit कर सकते हैं। जैसे-जैसे हम इसे expand करते हैं, आप हमारी site के footer में मौजूद link से इन नए docs तक कभी भी पहुंच सकते हैं और हमारी progress देख सकते हैं।

आगे की योजनाएं

  • विस्तृत App Guides
    हमारे platform पर supported हर app के लिए installation, troubleshooting और उपयोगी tips को cover करना।
  • User और Developer Resources
    Appbox experience को customize करने के लिए beginner-friendly tutorials से लेकर advanced code references तक सब उपलब्ध कराना।
  • Community-Driven Content
    pull requests, feedback और suggestions को प्रोत्साहित करना। सभी का स्वागत है, और ये इस project को सभी के लिए बेहतर बनाते हैं।

शुरुआत करना

अगर आप हमारा open-sourced frontend code देखना या उसमें योगदान देना चाहते हैं, तो Appbox repository clone करें:

git clone https://github.com/appbox-co/appbox.git

फिर project में जाएं और dependencies install करें:

cd appbox
pnpm install
pnpm dev

आपकी local instance http://localhost:3000 पर उपलब्ध होगी। इसे explore करें, changes करें और pull requests बनाएं। हम हर contribution की सराहना करते हैं!

Development Tools

Linting

Project में TypeScript और Prettier integration के साथ ESLint का comprehensive linting setup है। इससे consistent code style बना रहता है और common errors जल्दी पकड़े जाते हैं। आप linting checks manually चला सकते हैं:

# Run linting
pnpm lint
 
# Fix automatically fixable issues
pnpm lint:fix

हमारे ESLint configuration में शामिल हैं:

  • @typescript-eslint के जरिए TypeScript-specific rules
  • eslint-config-next के साथ Next.js specific linting
  • Prettier integration के साथ code formatting

Pre-commit Hooks

हम Git hooks manage करने के लिए Husky इस्तेमाल करते हैं, ताकि repository में केवल quality code commit हो। ये hooks set up हैं:

  • pre-commit: हर commit से पहले code quality सुनिश्चित करने के लिए lint:fix चलाता है
  • commit-msg: Conventional commit message formatting enforce करने के लिए commitlint इस्तेमाल करता है

इसका मतलब है कि accept होने से पहले आपके commits अपने-आप code quality और proper formatting के लिए check होंगे, जिससे पूरे codebase में high standard बना रहता है।

Pull Requests बनाना

जब आप अपने changes contribute करने के लिए तैयार हों, तो अपनी Pull Request (PR) accept होने की संभावना बढ़ाने के लिए ये guidelines follow करें:

PR बनाने से पहले

  1. Latest main branch से rebase करें ताकि merge conflicts न हों:

    git checkout main
    git pull origin main
    git checkout your-branch
    git rebase main
  2. सुनिश्चित करें कि linting pass हो:

    pnpm lint:fix
  3. Relevant functionality test करके सुनिश्चित करें कि code locally काम करता है

PR Guidelines

  1. PRs focused रखें - हर PR में एक issue या feature address करें।
  2. Clear commit messages लिखें - conventional commit format follow करें।
  3. Clear descriptions शामिल करें - बताएं कि PR क्या करता है और इसकी जरूरत क्यों है।
  4. Tests जोड़ें - जहां लागू हो, changes सही काम करते हैं यह verify करने के लिए tests जोड़ें।
  5. Code document करें - complex logic के लिए comments इस्तेमाल करें और function names descriptive रखें।
  6. Existing patterns follow करें - आपका code बाकी codebase के style और patterns से match होना चाहिए।

Significant changes के लिए coding में समय लगाने से पहले approach discuss करने के लिए issue खोलने पर विचार करें। इससे यह सुनिश्चित होता है कि आपका contribution project की दिशा से aligned है और अनावश्यक मेहनत से बचा जा सके।