Skip to content

🏠 Home

Open the project or dependency package's homepage URL in a browser, or just get the URL text without opening.

composer home reads the homepage field from composer.json and opens it in the default browser. Composer Skills provides three layers: current project homepage, specified package homepage, and custom options (like --show to only display the URL).

When to Use

  • 🔗 Display an "open project homepage" quick action in a CLI dashboard.
  • 📦 Quickly jump to a package's homepage in a dependency review tool to view its docs.
  • 🔍 Use --show to get just the URL text, integrating into your report or Markdown output.
  • 🧰 Collect homepages of all direct dependencies into a link list in CI.

Method Signatures

MethodSignatureDescription
🏠 Homefunc (c *Composer) Home() (string, error)Open current project homepage
📦 HomePackagefunc (c *Composer) HomePackage(packageName string) (string, error)Open specified package homepage
⚙️ HomeWithOptionsfunc (c *Composer) HomeWithOptions(options map[string]string) (string, error)Custom options

Parameters

HomePackage

ParameterTypeDescription
packageNamestringPackage name, e.g., symfony/console

HomeWithOptions

ParameterTypeDescription
optionsmap[string]stringE.g., {"show": ""} to only display URL

Examples

Open Current Project Homepage

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	comp, err := composer.New(composer.DefaultOptions())
	if err != nil {
		log.Fatal(err)
	}
	out, err := comp.Home()
	if err != nil {
		log.Fatalf("Failed to open homepage: %v", err)
	}
	fmt.Println(out)
}

Open a Dependency Package Homepage

go
out, err := comp.HomePackage("symfony/console")
if err != nil {
	log.Fatal(err)
}
fmt.Println(out)

Get URL Only Without Opening Browser

go
url, err := comp.HomeWithOptions(map[string]string{"show": ""})
if err != nil {
	log.Fatal(err)
}
fmt.Println("Homepage URL:", url)

Advanced

Requires homepage Field

If composer.json has no homepage field, composer home will error. This method's errors are wrapped as ErrCommandExecution.

--show for Headless Environments

Servers or CI have no GUI; composer home will try to launch a browser and fail. Use HomeWithOptions(map[string]string{"show": ""}) to only output the URL, avoiding browser dependency.

Released under the MIT License