View Categories

Building Add-Ons (Architecture Overview)

4 min read

The Cointacted Social Terminal is designed from the ground up to support official add-ons, third-party extensions, and custom command packs.

Add-ons can add:

  • new commands
  • command groups
  • settings panels
  • wallet/Web3 logic
  • Social Mining logic
  • admin tools
  • UI enhancements
  • event handlers

This article explains how add-ons integrate with the core plugin, and how developers can create their own.


1. Add-Ons Are Just WordPress Plugins #

An add-on is simply a separate WordPress plugin that depends on:

Cointacted Social Terminal

This means:

  • you can distribute add-ons on your own site
  • add-ons can be premium
  • developers can create their own extensions
  • updates and activation behave like normal WP plugins

No special framework needed.

Your core plugin exposes the API — add-ons plug into it.


2. How Add-Ons Load JS Commands #

Every add-on can enqueue its own JS file:

wp_enqueue_script(
    'cst-addon-example',
    plugin_dir_url(__FILE__) . 'js/addon.js',
    ['cointacted-social-terminal-js'],
    '1.0',
    true
);

This ensures:

  • Terminal code loads first
  • Add-on JS loads second
  • All APIs (registry, events, append_line) are available

Inside addon.js, you register commands:

CointactedSocialTerminalTerminal.registry.rewards = function(input) {
    cointacted_social_terminal_append_line("Your reward score: 120", "success");
};

Voilà — the add-on works instantly.


3. Add-Ons Automatically Integrate Into the Help System #

If an add-on provides metadata:

CointactedSocialTerminalTerminal.commands_meta.rewards = {
    group: "SOCIAL",
    description: "Show Social Mining rewards",
    alias: ["rw"]
};

Then:

  • help automatically shows new group
  • help social lists its commands
  • help search reward works
  • rewards and rw both function

No manual integration required.


4. Add-Ons Can Add Settings Pages #

Add-ons can register their own admin settings pages:

add_action('admin_menu', function() {
    add_submenu_page(
        'cointacted-social-terminal',
        'Social Mining Settings',
        'Social Mining',
        'manage_options',
        'cointacted-social-mining',
        'cointacted_social_mining_render_settings'
    );
});

This is how official add-ons like:

  • Social Mining
  • EVM Integration
  • Solana Lite
  • myCred On-Chain
  • BuddyBoss Integration

will integrate.


5. Add-Ons Can Hook Into Events #

Your terminal dispatches JS events such as:

document.addEventListener('cointacted_social_terminal_output', (e) => {
    //...
});

Add-ons use these events to implement:

  • automatic reward logging
  • wallet state tracking
  • UI reactions
  • analytics
  • dynamic behavior

Example:

document.addEventListener('cointacted_social_terminal_output', (e) => {
    if (e.detail.type === 'wallet') {
        CointactedSocialMining.checkRewardEligibility(e.detail.text);
    }
});

6. Add-Ons Can Override Commands #

Add-ons can override existing commands:

const old_wallet = CointactedSocialTerminalTerminal.registry.wallet;

CointactedSocialTerminalTerminal.registry.wallet = function(input) {
    // extended logic
    old_wallet(input);
    cointacted_social_terminal_append_line("Reward eligible wallet detected!", "success");
};

This is exactly how the Social Mining add-on will function.


7. Add-Ons Can Add New Output Types #

Add-ons may define CSS for new output types:

Example: "reward"

.cointacted-social-terminal__line--reward {
    color: #00cc66;
    font-weight: bold;
}

Then output:

cointacted_social_terminal_append_line("+15 XP", "reward");

8. Add-Ons Can Integrate Blockchain Logic #

All real Web3 logic must live in add-ons, not core.

Add-ons can:

  • request wallet connection
  • sign messages
  • read/write contracts
  • interact with RPC endpoints
  • query chain state
  • implement Social Mining claims
  • verify on-chain logs

Example RPC call (add-on only):

const balance = await ethereum.request({
    method: 'eth_getBalance',
    params: [address, "latest"]
});

This is why the core plugin is 100% safe — it has zero Web3 permissions.


9. Add-Ons Can Add PHP Endpoints (REST/AJAX) #

Add-ons can extend backend functionality using REST API:

register_rest_route('cst/v1', '/rewards', [
    'methods' => 'GET',
    'callback' => 'cst_get_rewards',
    'permission_callback' => '__return_true'
]);

Or AJAX:

add_action('wp_ajax_cst_rewards', 'cst_rewards');

Backend logic + frontend JS command = fully integrated add-on.


10. Add-On File Structure (Recommended) #

my-addon/
│ functions.php
│ my-addon.php
│ readme.txt
│
├─ admin/
│   settings-page.php
│
├─ js/
│   addon.js
│
└─ css/
    addon.css

This structure keeps commands, admin UI, and styles cleanly separated.


11. Add-Ons Are Future-Proof #

Your terminal’s architecture supports:

✔ unlimited commands #

✔ unlimited add-ons #

✔ isolated settings panels #

✔ extended help groups #

✔ advanced event-driven logic #

✔ blockchain integrations #

✔ AI-powered command packs #

The core plugin never needs modification — all enhancements enter through add-ons.


Summary #

Add-ons can:

✔ register commands #

✔ add command groups #

✔ integrate into help/search #

✔ add settings pages #

✔ use events #

✔ override commands #

✔ add new output types #

✔ build Social Mining & Web3 logic #

✔ create full ecosystems #

This architecture makes the Social Terminal a full extensible development platform, not just a plugin.

Leave a Reply

Your email address will not be published. Required fields are marked *