Menu

#40 Plugins

open
nobody
help wanted (5)
2025-09-21
2025-02-20
Anonymous
No

Originally created by: endernoke

[!IMPORTANT]
We're looking for feedback / suggestions for this planned feature! We believe that many developers and users would find plugin system helpful. You can either comment your thoughts or upvote this issue so we can prioritize its development. We also welcome designs and PR for this feature. See [#114] for a similar issue

Is your feature request related to a problem? Please describe.
Pretty ambitious feature, basically we can allow users to make and install their own mods or extensions to the app.
e.g. advanced brainrot defense system, AI autoreply etc.
Kinda like VSCode extensions.
Then we can publish these plugins as separate packages instead of packing everything into the base app. People will be able to dynamically select and install whatever they want to the CLI (and not be forced to download a ton of fancy stuff they don't really need)

Describe the solution you'd like
Have a plugins manager where users can install, enable/disable and configure all their plugins. Not sure how plugin support can be implemented but it is definitely possible as many tools have this feature.

Describe alternatives you've considered
Well you can fork the repo and directly make changes there, but this isn't scalable.

Additional context
Add any other context or screenshots about the feature request here.

Related

Tickets: #114
Tickets: #85

Discussion

  • Anonymous

    Anonymous - 2025-02-20

    Originally posted by: supreme-gg-gg

    This is a great feature suggestion!!! I'd like to pin this because many people make instagram bots and micro services, would be great if we provide a generalized framework to connect those and facilitate customisation! Forking the repo also doesnt' allow you to share your extension with others. I think we either provide integration method for whatever the user builds (that's probably what you are referring to) or provide API library for user to build plugins that can be natively supported easily (more work for us, 😢 )

     
  • Anonymous

    Anonymous - 2025-06-10

    Originally posted by: endernoke

    I think we either provide integration method for whatever the user builds (that's probably what you are referring to) or provide API library for user to build plugins that can be natively supported easily (more work for us, 😢 )

    I'm suggesting kinda a combination of the two. We would refactor and strip down the chat interface into a microkernel architecture (like VS Code core) that provides easy integrations and maybe an API to let people make their own plugins/extensions. Then we move all the message formatting and commands stuff to extensions of our own.

    Though I think Instagram CLI is mainly meant to be end user oriented, so making fully-automated Instagram bot / microservices is out of the scope (they can just use libraries like instagrapi to do what they want or we might build one ourselves in the future lmao).

    Here's what I have in mind for the refactored project:

    graph TD
        subgraph Core Engine
            A[Event Bus]
            B[Extension Manager]
            C[UI Layer]
            D[Data Persistence Layer]
            E[Network Client]
        end
    
        subgraph Extensions
            F[Latex Renderer]
            G[Multimedia Handler]
            H[Custom Theme]
            I[Message Emoji Formatter]
            J[Brainrot Shield]
            K[Custom Command]
        end
    
        A -- Manages Communication --> B
        B -- Loads/Unloads --> Extensions
        C -- Renders --> UI
        D -- Manages --> Data
        E -- Handles --> Network
    
        Extensions -- Interact via --> A
    
    • The Core Engine and extensions can publish events to the bus (e.g., renderMessage, commandEntered).
    • Extensions can subscribe to specific events they are interested in.
    • When an event is published, the Event Bus notifies all subscribed extensions.

    If we decide to follow this path we might want to expand this further for interacting with posts, profiles, etc. or develop their own independent architecture.

     
  • Anonymous

    Anonymous - 2025-09-21

    Originally posted by: endernoke

    See also https://github.com/weechat/weechat, which is an extensible IRC terminal chat client. It could serve as an exampler for plugins architecture.

     

Log in to post a comment.

Monday.com Logo