ভুল ছাড়াই ইনস্টল করুন — আপনি, বা আপনার AI এজেন্ট।
AppKit যা যা করে, প্রতিটি জিনিস কোথায় দেখা যায়, এবং আপনার কোডিং অ্যাসিস্ট্যান্টে পেস্ট করার মতো একটি তৈরি prompt। যা আপনি করতে জানেন না, এজেন্ট তা আপনার হয়ে করে দেয়।
নিচের টেক্সটটি আপনার কোডিং অ্যাসিস্ট্যান্টে পেস্ট করুন, MINHA_CHAVE_PK_LIVE-এর জায়গায় আপনার ড্যাশবোর্ডের key বসান, আর সে পুরো ইন্টিগ্রেশন করে দেবে — ইনস্টলেশন, খালি স্ক্রিন ও ধাপ সম্পন্নকরণ — আপনার প্রোডাক্ট না ভেঙে।
Claude CodeAntigravityOpenAI / CodexCursor, Copilot…
prompt-appkit.txt
তুমি আমার কোডিং অ্যাসিস্ট্যান্ট। AppKit (appkit.com.br) আমার ওয়েব প্রোডাক্টে ইন্টিগ্রেট করো, কিছুই না ভেঙে। AppKit একটি onboarding checklist, খালি স্ক্রিন ও ঘোষণা ইনজেক্ট করে, যা একটি বাইরের ড্যাশবোর্ড থেকে নিয়ন্ত্রিত হয়। ঠিক এগুলো করো:
১) ইনস্টলেশন
- প্রজেক্টে bundler (React/Vue/Next/Svelte/ইত্যাদি) ব্যবহৃত হলে: এই প্যাকেজটি ইনস্টল করো
@tecaless/appkit-sdk
আর entry point-এ, ব্যবহারকারী লগইন করার পরে (যখন তার id আমার কাছে আছে), এটি কল করো:
import { init } from '@tecaless/appkit-sdk'
init({ apiKey: 'MINHA_CHAVE_PK_LIVE', userId: <লগইন করা ব্যবহারকারীর স্থায়ী id> })
- স্ট্যাটিক / no-code সাইট হলে:
-এর আগে যোগ করো:
- userId/data-user অবশ্যই লগইন করা ব্যবহারকারীর স্থায়ী শনাক্তকারী হতে হবে। AppKit সার্ভারে সেটিকে hash-এ বদলে দেয় — কখনোই ইমেইল বা নাম পাঠাবে না। লগইন করা ব্যবহারকারী না থাকলে userId বাদ দাও।
২) খালি স্ক্রিন
যেসব স্ক্রিন ডেটা ছাড়া শুরু হয় এবং যেখানে আমি একটি কল-টু-অ্যাকশন চাই (যেমন ইনভয়েস, কন্টাক্ট, ক্যালেন্ডার), সেখানে বর্তমান খালি অবস্থাটিকে একটি চিহ্নিত কন্টেইনারে মুড়ে দাও, বর্তমান কনটেন্ট fallback হিসেবে ভেতরে রেখে:
...বর্তমান "কোনো রেকর্ড নেই" কনটেন্ট...
প্রতিটি স্ক্রিনের জন্য ছোট, স্থায়ী নাম ব্যবহার করো (যেমন faturas-vazio, contatos-vazio)। build-জেনারেটেড CSS সিলেক্টর ব্যবহার কোরো না। তৈরি করা নামের তালিকা আমাকে ফেরত দাও।
৩) ধাপ সম্পন্নকরণ (আসল মেট্রিকের জন্য গুরুত্বপূর্ণ)
onboarding-এর যে ধাপগুলো ব্যবহারকারীর আসল কাজ বোঝায় (যেমন "প্রথম ইনভয়েস ইস্যু করা"), সেগুলোর জন্য ঠিক সেই মুহূর্তে কল করো যখন কাজটি সত্যিই ঘটে — সার্ভারে সেভ হওয়ার পরে, বোতাম ক্লিকে নয়:
window.AppKit && window.AppKit.track('fatura_emitida')
প্রতিটি কাজের জন্য snake_case-এ একটি ইভেন্ট নাম ব্যবহার করো। তৈরি করা ইভেন্টের তালিকা আমাকে ফেরত দাও।
৪) কিছু ভাঙবে না
- SDK অ্যাসিনক্রোনাসভাবে লোড করো; এটি fail-open (বিকল হলে নিজে থেকেই অদৃশ্য হয় এবং আমার প্রোডাক্টে প্রভাব ফেলে না)।
- pk_live key স্বভাবতই পাবলিক (ক্লায়েন্টে থাকতে পারে)। কোনো সিক্রেট key উন্মুক্ত কোরো না।
- AppKit-এর অপেক্ষায় রেন্ডারিং ব্লক কোরো না।
শেষে তালিকা দাও: (a) পরিবর্তিত ফাইল, (b) তৈরি করা data-appkit নাম, (c) তৈরি করা ইভেন্ট নাম — যাতে আমি AppKit ড্যাশবোর্ডে সেগুলো কনফিগার করতে পারি।
এজেন্টের কাজ শেষ হলে, সে যে data-appkit নাম ও ইভেন্ট নাম ফেরত দেয় তা দিয়ে ড্যাশবোর্ডে খালি স্ক্রিন ও ধাপ সম্পন্নকরণ কনফিগার করুন।
02ইনস্টলেশন
দুটি উপায়। ফ্রেমওয়ার্ক ব্যবহার করলে npm দিয়ে শুরু করুন।
bundler সহ (React, Vue, Next, Svelte…) — প্রস্তাবিত
terminal
npm i @tecaless/appkit-sdk
app.js — লগইনের পরে
import { init, track } from '@tecaless/appkit-sdk'
init({ apiKey: 'MINHA_CHAVE_PK_LIVE', userId: usuario.id })
// যখন একটি আসল কাজ ঘটে:
track('fatura_emitida')
আপনার pk_live_… key ড্যাশবোর্ডে, ইনস্টলেশন-এর অধীনে আছে। এটি স্বভাবতই পাবলিক (শুধু আপনার কনফিগারেশন পড়তে ও ইভেন্ট পাঠাতে দেয়)।
03প্রতিটি জিনিস কোথায় দেখা যায়
তিনটি অভিজ্ঞতাই আপনার প্রোডাক্টের যেকোনো পেজে কাজ করে, যে ডোমেইনে ইনস্টল করেছেন তার মধ্যে। সবকিছু আপনি ড্যাশবোর্ড থেকে নিয়ন্ত্রণ করেন, নতুন deploy ছাড়া।
Checklist
কোণায় ভাসমান কার্ড। যেকোনো পেজে দেখা যায়; ব্যবহারকারী সব শেষ করলে নিজে থেকেই অদৃশ্য হয়।
ঘোষণা
উপরের ব্যানার যা কনটেন্টকে নিচে ঠেলে (ঢেকে দেয় না)। লিংক থাকতে পারে। আপনি যখন খুশি প্রকাশ ও অপসারণ করতে পারেন।
খালি স্ক্রিন
যেখানে আপনার প্রোডাক্ট "কোনো রেকর্ড নেই" দেখায় — আপনার কোড না ছুঁয়েই (আপনার এজেন্ট সামলে নেয়)। এটি একটি কল-টু-অ্যাকশনে পরিণত হয়।
04খালি স্ক্রিন: আপনার কোড ছোঁয়ার দরকার নেই
খালি স্ক্রিনের জাদু হলো কিছুই ঘোষণা করতে হয় না। Prompt কপি করুন-এ ক্লিক করুন, আর আপনার AI এজেন্ট প্রযুক্তিগত অংশ সামলে নেবে: সে আপনার সিস্টেমে আগে থেকেই থাকা কোনো এলিমেন্টের দিকে নির্দেশ করে (সিলেক্টর দিয়ে, HTML না ছুঁয়ে) বা দরকার হলে একটি স্থায়ী মার্কার যোগ করে — AppKit দুটোই গ্রহণ করে। এরপর আপনি শুধু ড্যাশবোর্ড থেকে টেক্সট সম্পাদনা করবেন, চিরকালের জন্য, deploy ছাড়া।
ব্যবহারকারী AppKit (appkit.com.br)-এর "খালি স্ক্রিন" ফিচারে "Prompt কপি করুন"-এ ক্লিক করেছেন। তিনি চান তার প্রোডাক্টের ডেটা ছাড়া শুরু হওয়া একটি স্ক্রিন কল-টু-অ্যাকশনে পরিণত হোক, হাতে কোড না বদলে। করো:
পূর্বশর্ত — AppKit ইনস্টল থাকতে হবে। এখনো না থাকলে আগে ইনস্টল করো:
npm i @tecaless/appkit-sdk
import { init } from '@tecaless/appkit-sdk'; init({ apiKey: 'MINHA_CHAVE_PK_LIVE', userId: <লগইন করা ব্যবহারকারীর id> })
(অথবা, no-code: -এর আগে)
খালি স্ক্রিন — কোডে সেই স্ক্রিনটি খুঁজে বের করো যা খালি শুরু হয় (যেমন ইনভয়েস/কন্টাক্ট তালিকা) এবং বেছে নাও AppKit সেখানে কীভাবে নোঙর করবে (দুটি উপায়ই গ্রহণযোগ্য):
(a) একটি স্থায়ী CSS সিলেক্টর (id বা সিম্যান্টিক ক্লাস) দিয়ে আগে থেকেই থাকা এলিমেন্টের দিকে নির্দেশ করো — HTML না ছুঁয়ে; অথবা
(b) শুধু build-জেনারেটেড ক্লাস থাকলে, খালি অবস্থাটিকে এর মধ্যে মুড়ে দাও:
…বর্তমান কনটেন্ট…
.
প্রতিটি খালি স্ক্রিনের সিলেক্টর/নাম আমাকে ফেরত দাও (যেমন "#faturas-vazio" বা "faturas-vazio") যাতে আমি ড্যাশবোর্ড → খালি স্ক্রিনে পেস্ট করতে পারি।
AppKit-এর উপলব্ধ ফিচার (প্রতিটি ড্যাশবোর্ড https://appkit.com.br/painel-এ চালু করো): প্রথম ধাপের checklist, খালি স্ক্রিন, উপরের ঘোষণা, এবং ইভেন্টভিত্তিক ধাপ সম্পন্নকরণ (আসল কাজের মুহূর্তে window.AppKit.track('acao_real') কল করো)। সম্পূর্ণ গাইড: https://appkit.com.br/guia
কিছুই ভাঙবে না: async লোড করো, SDK হলো fail-open, এবং pk_live key পাবলিক (কোনো সিক্রেট key উন্মুক্ত কোরো না)। শেষে পরিবর্তিত ফাইল ও তৈরি করা সিলেক্টর/নামের তালিকা দাও।
কোনোদিন নোঙরটি হারিয়ে গেলে AppKit আপনাকে জানায় (appkit_anchor_missing ইভেন্ট) এবং কিছুই রেন্ডার করে না — আপনার স্ক্রিন স্বাভাবিকই থাকে।
05একটি ধাপ কীভাবে সম্পন্ন হয়
তিনটি মোড, ড্যাশবোর্ডে ধাপ অনুযায়ী বেছে নেওয়া হয়। এটিই ঠিক করে আপনার অ্যাক্টিভেশন ফানেল আসল কাজ মাপছে, নাকি শুধু ক্লিক।
সত্য
ইভেন্ট দিয়ে
আপনার কোড আসল কাজের মুহূর্তে AppKit.track('acao') কল করে। এটি জাল করা যায় না — এটিই ট্র্যাকশন মেট্রিক হিসেবে কাজ করে।
proxy
রুট দিয়ে
ব্যবহারকারী কোনো রুটে পৌঁছায় (যেমন /faturas/nova)। আসল সংকেত, কিন্তু "পৌঁছানো" মানে "করা" নয়।
ঐচ্ছিক
ম্যানুয়াল
ব্যবহারকারী আইটেমে ক্লিক করে চিহ্নিত করে। তথ্যমূলক ধাপের জন্য ("এটি পড়ুন")। এটি ইচ্ছাকৃতভাবেই জাল করা যায়।
আপনার ট্র্যাকশন অ্যানালিটিক্স অর্থবহ হতে হলে গুরুত্বপূর্ণ ধাপগুলো ইভেন্ট দিয়ে হতে হবে। ম্যানুয়াল হলে আপনি মাপছেন "ব্যবহারকারী সম্পন্ন-এ ক্লিক করেছে", "ব্যবহারকারী কাজটি করেছে" নয়।
06নিশ্চয়তা
Fail-open: AppKit বিকল হলে widget অদৃশ্য হয়ে যায় এবং আপনার প্রোডাক্ট হুবহু আগের মতোই থাকে। আমাদের কোনো ত্রুটি আপনার console-এ পৌঁছায় না।
হালকা ও বিচ্ছিন্ন: ~১০ KB, Shadow DOM-এ। আপনার CSS ছোঁয় না, পেজ লোডের সাথে প্রতিযোগিতাও করে না।
বন্ধ করার বোতাম: ড্যাশবোর্ডে এক ক্লিকে ৩০ সেকেন্ডের মধ্যে আপনার সব ব্যবহারকারীর কাছ থেকে AppKit সরে যায়, deploy ছাড়া।
গঠনগতভাবেই LGPD: আপনার ব্যবহারকারীর id ডেটাবেসে পৌঁছানোর আগে অপরিবর্তনীয় hash হয়ে যায় (SHA-256 + প্রতি-অ্যাকাউন্ট salt)। কখনো ইমেইল বা নাম পাঠাবেন না।
নিরীক্ষণযোগ্য: SDK একটি স্থির URL থেকে পরিবেশিত হয় এবং একটি পাবলিক npm প্যাকেজ আছে।
07সাধারণ ভুল (এবং কীভাবে এড়াবেন)
Widget দেখা যাচ্ছে না
data-key যাচাই করুন এবং দেখুন অভিজ্ঞতাটি ড্যাশবোর্ডে প্রকাশিত (খসড়া নয়) কি না।
খালি স্ক্রিন দেখা যাচ্ছে না
HTML-এ data-appkit="…" নেই, অথবা ড্যাশবোর্ডের নাম কোডের নামের সাথে মিলছে না।
ধাপ নিজে থেকে সম্পন্ন হচ্ছে না
"রুট দিয়ে" নিয়মে রুট খালি, অথবা "ইভেন্ট দিয়ে" নিয়মে সঠিক মুহূর্তে আপনার কোডে track() নেই।
ব্যবহারকারীর নাম দেখা যাচ্ছে
অভিজ্ঞতার শিরোনামে বা data-user-এ নাম/ইমেইল দেবেন না — একটি স্থায়ী id ব্যবহার করুন।