Add manifest command with subcommands for plugin information
- Add manifest command with id, version, has_server, has_webapp subcommands - Provides simple text output for easy parsing/scripting - Update help documentation with usage examples - Follow existing command patterns and architecture 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
3cbe5e4a9f
commit
c01c9c2843
2 changed files with 70 additions and 0 deletions
50
manifest.go
Normal file
50
manifest.go
Normal file
|
@ -0,0 +1,50 @@
|
|||
package pluginctl
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
// RunManifestCommand implements the 'manifest' command functionality with subcommands.
|
||||
func RunManifestCommand(args []string, pluginPath string) error {
|
||||
if len(args) == 0 {
|
||||
return fmt.Errorf("manifest command requires a subcommand: id, version, has_server, has_webapp")
|
||||
}
|
||||
|
||||
// Convert to absolute path
|
||||
absPath, err := filepath.Abs(pluginPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to resolve path: %w", err)
|
||||
}
|
||||
|
||||
// Load plugin manifest
|
||||
manifest, err := LoadPluginManifestFromPath(absPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to load plugin manifest: %w", err)
|
||||
}
|
||||
|
||||
subcommand := args[0]
|
||||
switch subcommand {
|
||||
case "id":
|
||||
fmt.Println(manifest.Id)
|
||||
case "version":
|
||||
fmt.Println(manifest.Version)
|
||||
case "has_server":
|
||||
if HasServerCode(manifest) {
|
||||
fmt.Println("true")
|
||||
} else {
|
||||
fmt.Println("false")
|
||||
}
|
||||
case "has_webapp":
|
||||
if HasWebappCode(manifest) {
|
||||
fmt.Println("true")
|
||||
} else {
|
||||
fmt.Println("false")
|
||||
}
|
||||
default:
|
||||
return fmt.Errorf("unknown subcommand: %s. Available subcommands: id, version, has_server, has_webapp",
|
||||
subcommand)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue