CLI for the HostLink platform — built for humans and AI agents.
npm install -g @hostlink/hostlink-cliObtain your access token from the HostLink portal, then save it:
hostlink set-token YOUR_TOKENThis repo ships Agent Skills (SKILL.md files) for every command — ready to use with GitHub Copilot, Cursor, and any MCP-compatible AI agent.
# Install all hostlink skills at once
npx skills add https://github.com/HostLink/hostlink-cli
# Or pick only what you need
npx skills add https://github.com/HostLink/hostlink-cli/tree/main/skills/hostlink-me
npx skills add https://github.com/HostLink/hostlink-cli/tree/main/skills/hostlink-clients
npx skills add https://github.com/HostLink/hostlink-cli/tree/main/skills/hostlink-domains
npx skills add https://github.com/HostLink/hostlink-cli/tree/main/skills/hostlink-quotations
npx skills add https://github.com/HostLink/hostlink-cli/tree/main/skills/hostlink-quotation-itemsShow the current logged-in user's profile.
hostlink me
hostlink me --jsonManage clients.
# List clients
hostlink clients list
hostlink clients list --limit 20 --offset 0
hostlink clients list --search "HostLink"
hostlink clients list --json
# Get a client by ID
hostlink clients get <id>
hostlink clients get <id> --json
# Update a client
hostlink clients update <id> --client-name "New Name" --client-email "email@example.com"# Delete a client
hostlink clients delete <id>Update options:
| Option | Description |
|---|---|
--client-name | Client name |
--client-email | |
--client-phone | Phone |
--client-fax | Fax |
--client-addr1~3 | Address lines |
--client-city | City |
--client-website | Website |
--br-no | BR number |
--br-expiry-date | BR expiry date |
--remark | Remark |
--join-date | Join date |
--suspend-date | Suspend date |
--termination-date | Termination date |
--bill-name | Billing name |
--bill-email | Billing email |
--bill-phone | Billing phone |
Manage domains.
# List domains
hostlink domains list
hostlink domains list --client <client_id>
hostlink domains list --search "example.com"
hostlink domains list --json
# Get a domain by ID
hostlink domains get <id>
hostlink domains get <id> --json
# Add a domain
hostlink domains add --client-id <id> --domain-name "example.com" --expiry-date "2027-01-01" --registrar "GoDaddy"# Update a domain
hostlink domains update <id> --expiry-date "2028-01-01" --remark "renewed"# Delete a domain
hostlink domains delete <id>Add / Update options:
| Option | Description |
|---|---|
--client-id | Client ID |
--domain-name | Domain name |
--expiry-date | Expiry date |
--creation-date | Creation date |
--registrar | Registrar |
--primary-dns | Primary DNS |
--secondary-dns | Secondary DNS |
--domain-user-id | Domain user ID |
--domain-password | Domain password |
--domain-type | Domain type |
--remark | Remark |
--server-id | Server ID |
--status | Status |
--is-project | Mark as project |
--is-vm | Mark as VM |
Manage quotations.
# List quotations
hostlink quotations list
hostlink quotations list --client <client_id>
hostlink quotations list --search "ABC Ltd"
hostlink quotations list --status "pending"
hostlink quotations list --json
# Get a quotation by ID
hostlink quotations get <id>
hostlink quotations get <id> --json
# Add a quotation
hostlink quotations add --client-id <id> --client-name "ABC Ltd" --quotation-date "2026-03-20" --due-date "2026-04-20"# Update a quotation
hostlink quotations update <id> --status "approved" --sign-date "2026-03-25"# Delete a quotation
hostlink quotations delete <id>Add / Update options:
| Option | Description |
|---|---|
--client-id | Client ID |
--client-name | Client name |
--quotation-date | Quotation date (YYYY-MM-DD) |
--due-date | Due date (YYYY-MM-DD) |
--sign-date | Sign date (YYYY-MM-DD) |
--email | |
--phone | Phone |
--addr1~3 | Address lines |
--city | City |
--note | Note |
--remark | Remark |
--header | Header text |
--status | Status |
--service-type | Service type |
--quotation-type | Quotation type |
--renew | Mark as renewal |
Manage items within a quotation. Each quotation can have multiple items.
# List all items in a quotation
hostlink quotation-items list <quotation_id>
hostlink quotation-items list <quotation_id> --json
# Get an item by ID
hostlink quotation-items get <id>
hostlink quotation-items get <id> --json
# Add an item to a quotation
hostlink quotation-items add --quotation-id <id> --name "Web Hosting" --unit-price 500 --unit-month 12 --unit-quantity 1
# Update an item
hostlink quotation-items update <id> --unit-price 600 --discount 10
# Delete an item
hostlink quotation-items delete <id>Add / Update options:
| Option | Description |
|---|---|
--quotation-id | Quotation ID (required for add) |
--name | Item name (required for add) |
--unit-price | Unit price |
--unit-month | Number of months (default: 1) |
--unit-quantity | Quantity |
--discount | Discount percentage |
--remark | Remark |
--sequence | Display sequence order |
--service-id | Service ID |
--domain-id | Domain ID |
--optional | Mark as optional item |
--accept | Mark as accepted |
--hidden-price | Hide price |
--hidden-quantity | Hide quantity |
--hidden-number | Hide number |
--page-break | Insert page break after item |
All list commands support:
| Option | Description |
|---|---|
-l, --limit <n> | Max records to return (default: 50) |
-o, --offset <n> | Records to skip (default: 0) |
--json | Output as JSON |
MIT © HostLink