---
url: https://docs.ogmabox.com/bn/plugins/quickstart.md
description: >-
  ন্যূনতম ব্যাকএন্ডের উদাহরণ ও ঐচ্ছিক ফ্রন্টএন্ড প্যানেল দিয়ে কয়েক মিনিটে
  প্রথম Ogma প্লাগইন তৈরি ও ইনস্টল করুন।
---

# প্লাগইন তৈরি শুরু করুন {#plugin-quickstart}

এই নির্দেশিকা খালি ফোল্ডার থেকে দ্রুত কার্যকর প্লাগইন তৈরির ধাপ দেখায়।

## 1) ন্যূনতম শুধু ব্যাকএন্ডের প্লাগইন তৈরি {#\_1-create-a-minimal-backend-only-plugin}

এই ফাইলগুলোসহ ফোল্ডার তৈরি করুন:

```text
my-plugin/
  manifest.json
  backend/
    script.js
```

`manifest.json`:

```json
{
  "id": "my-plugin",
  "name": "My Plugin",
  "version": "0.1.0",
  "plugins": [
    {
      "kind": "backend",
      "id": "my-plugin-backend",
      "entrypoint": "backend/script.js"
    }
  ]
}
```

`backend/script.js`:

```js
async function init(sdk) {
  sdk.console.log("Plugin started");

  sdk.events.onInterceptResponse(function(req, res) {
    if (!res) return;
    if (res.getCode() === 403) {
      sdk.console.warn("403 on " + req.getUrl());
    }
  });
}
```

**প্লাগইন > ইনস্টল করুন** থেকে ফোল্ডার বেছে ইনস্টল করুন, প্লাগইন চালু করুন এবং লগে `Plugin started` দেখায় কি না যাচাই করুন।

## 2) TypeScript ব্যবহার করলে {#\_2-if-you-are-using-typescript}

এই গঠন ব্যবহার করুন:

```text
my-plugin/
  manifest.json
  backend/
    src/index.ts
```

বান্ডল করুন:

```bash
pnpm add -D @ogmabox/ogma-sdk esbuild typescript
pnpm exec esbuild backend/src/index.ts \
  --bundle \
  --platform=neutral \
  --format=iife \
  --external:@ogma/sdk --external:@ogmabox/ogma-sdk \
  --outfile=backend/script.js
```

তারপর আগের মতো ফোল্ডার ইনস্টল করুন।

## 3) পরে ফ্রন্টএন্ড যোগ {#\_3-add-a-frontend-later}

প্যানেল দরকার হলেই শুধু ফ্রন্টএন্ড এন্ট্রি ও UI ফাইল যোগ করুন:

```text
my-plugin/
  frontend/
    script.js
    style.css   # optional
```

তারপর `manifest.json`-এ যোগ করুন:

```json
{
  "kind": "frontend",
  "id": "my-plugin-frontend",
  "entrypoint": "frontend/script.js",
  "backend": { "id": "my-plugin-backend" }
}
```

ফ্রন্টএন্ডের যোগাযোগে `window.ogmaSDK.ready(...)` ব্যবহার করুন এবং ব্যাকএন্ড কল `sdk.api` হ্যান্ডলারে রাখুন।

## 4) সাধারণত প্রয়োজনীয় অনুমতি {#\_4-permissions-you-almost-always-need}

ওপরের ব্যাকএন্ড উদাহরণের জন্য:

* কোনোটি নয় (নিরাপদ ডিফল্ট অনুমতি স্বয়ংক্রিয়ভাবে দেওয়া হয়)

প্লাগইন বহির্মুখী অনুরোধ পাঠালে যোগ করুন:

```json
"permissions": ["send_requests"]
```

প্লাগইন নিরাপত্তা পরীক্ষার ফলাফল লিখলে যোগ করুন:

```json
"permissions": ["write_findings"]
```

শুধু যা ব্যবহার করবেন, তার অনুমতিই চান।

## প্রথম প্লাগইনের সমস্যার সমাধান {#troubleshooting-first-plugin}

* `Plugin failed to initialize` → **লগ** খুলে `init(sdk)` সংজ্ঞায়িত কি না নিশ্চিত করুন।
* `Invalid manifest` → JSON-এর কমা ও উদ্ধৃতিচিহ্ন যাচাই করুন।
* কলব্যাক চলছে না → প্লাগইন সক্রিয় এবং সংশ্লিষ্ট ইভেন্ট (`onInterceptResponse`) নিবন্ধিত কি না নিশ্চিত করুন।

সম্পূর্ণ API রেফারেন্স:

* [প্লাগইন ব্যবস্থা](./README)
* [ব্যাকএন্ড SDK](/bn/plugins/backend-sdk)
* [ফ্রন্টএন্ড SDK](/bn/plugins/frontend-sdk)
