Skip to content

Implement a Plugin System for App-Specific Resource Kinds and Commands #69

@tareknaser

Description

@tareknaser

Description

Currently, ark-cli defines methods and commands to handle links in the ark managed storage folder. We should consider a cleaner and more generic approach to allow applications depending on ark-rust to define app-specific resource kinds and related commands, handling them uniformly.

A potential solution is a plugin system. This would enable any app developer to create not only wrappers for each platform but also CLI commands related to the resource kinds they introduce. For example, .link is a custom file format defined by us that contains a Link to Web resource. It consists only of a URL, but we also define some metadata and possible properties for it, such as domain and title.

Related discussion: #67 (comment)

Proposed Tasks

  • Develop a plugin system to support app-specific resource kinds and commands.
  • Test this feature within the ark-cli link command.
  • Ensure the result is less code in ark-cli and a more straightforward approach.

This will enhance reusability by allowing easy reuse of app-specific resource kinds and commands, improve maintainability with cleaner and more manageable code, and increase extensibility by enabling developers to define their own resource kinds and commands.

Note: This proposal is open for discussion, and we do not have a full plan for it yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions