Skip to content

LuggaPugga/hetzner-ts

Repository files navigation

Hetzner API Wrapper for TypeScript

A fully-typed, promise-based TypeScript wrapper for the Hetzner Cloud API.
Easily manage servers, volumes, networks, and more with a clean and modern interface.

Important

This project is still in active development. While most API calls are fully typed and tested, some endpoints may have incomplete or inaccurate type definitions. Please report any type issues you encounter.

Features

  • TypeScript-first: Full type safety and autocompletion
  • Promise-based: Async/await support for all API calls
  • Comprehensive: Supports all major Hetzner Cloud API endpoints
  • Extensible: Easily add custom endpoints or extend functionality

Documentation

The full documentation is available at https://luggapugga.github.io/hetzner-ts/.

Installation

npm install hetzner-ts

Usage

import { HetznerAPI } from "hetzner-ts"

const client = new HetznerAPI({
  token: "your-api-token",
})

Contributing

Contributions are welcome. Please open issues or pull requests.

Setting up for testing

  1. Create a new project in the Hetzner Cloud Console
  2. Generate an API token with read & write permissions for the project
  3. Set the token as an environment variable:
HETZNER_API_KEY=your-token-here

Development workflow

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Run tests to verify everything works (npm run test)
  4. Commit your changes (git commit -am 'Add new feature')
  5. Push to the branch (git push origin feature/my-feature)
  6. Open a pull request

Note: The test suite will create and delete real resources in your Hetzner project. Make sure to use a dedicated testing project to avoid affecting production resources.

About

Lightweight TypeScript wrapper for the complete Hetzner Cloud API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •