🏠 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
--showto 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
| Method | Signature | Description |
|---|---|---|
| 🏠 Home | func (c *Composer) Home() (string, error) | Open current project homepage |
| 📦 HomePackage | func (c *Composer) HomePackage(packageName string) (string, error) | Open specified package homepage |
| ⚙️ HomeWithOptions | func (c *Composer) HomeWithOptions(options map[string]string) (string, error) | Custom options |
Parameters
HomePackage
| Parameter | Type | Description |
|---|---|---|
packageName | string | Package name, e.g., symfony/console |
HomeWithOptions
| Parameter | Type | Description |
|---|---|---|
options | map[string]string | E.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.