kopl

command module
v0.0.0-...-5b1d6aa Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2025 License: MIT Imports: 1 Imported by: 0

README

kopl

kopl is a command-line tool designed to streamline the development of plugins for KOReader. It helps with project initialization, static code analysis, and dependency management for Lua-based KOReader plugins.

Features

  • Project Initialization: Quickly set up a new KOReader plugin project with the necessary file structure and configuration.
  • Static Code Analysis: Integrate luacheck to perform static analysis on your Lua code, helping to identify potential issues and enforce coding standards. kopl automatically handles the installation and setup of luacheck and luarocks if they are not found in your system's PATH.
  • Deployment: Quickly deploy your local koplugin project to your device
  • Install: Install remotely hosted plugins onto your device

Installation

Prerequisites:

  • Go
  • Git
  • LuaRocks (optional, kopl can try to install luacheck via luarocks if needed)

Example using go install:

go install github.com/Consoleaf/kopl@latest

Usage

WARNING: This tool requires HTTP Inspector to be enabled!

Initialize a new KOReader Plugin Project

To create a new KOReader plugin project, use the init command:

kopl init my-awesome-plugin.koplugin

This will create a new directory my-awesome-plugin.koplugin with the basic project structure and necessary files like _meta.lua and main.lua.

Perform Static Checks

To run luacheck on your project and perform static analysis:

kopl check

kopl will look for luacheck in your PATH. If not found, it will attempt to install it using luarocks.

Deploy Project to a Device

Usage: kopl deploy [flags] <path>

kopl deploy ~/projects/hello.koplugin
Install a remotely hosted plugin

Usage: kopl install [flags] <path>

kopl install Consoleaf/repl.koplugin
Use a REPL

Needs repl.koplugin to work. It will be automatically installed if not present.

Usage: kopl repl [flags]

In the REPL, KOReader's state is available as a global ui:

$ kopl repl
>>>: print(ui.Repl.fullname)
[OUT] Repl
[RET] <nil>

License

This project is licensed under the MIT License - see the LICENSE file for details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd contains command implementations
Package cmd contains command implementations

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL