Skip to content

Latest commit

 

History

History
164 lines (111 loc) · 3.86 KB

File metadata and controls

164 lines (111 loc) · 3.86 KB

FrontierSharp.CommandLine

Description

frontierctl is a cross-platform command line application designed for interacting with EVE Frontier static data through the World API and local data utilities.

Downloading Binaries

You can download binaries from the Releases page.

Running with Docker

You can run frontierctl using Docker. The following command will run the latest version of frontierctl:

docker run ghcr.io/scetrov/frontiersharp:latest tribe --name Scetrov

Building from Source

To build frontierctl from source, you can use the following steps:

  1. Clone the repository:

    git clone https://github.com/scetrov/FrontierSharp.git
  2. Navigate to the project directory:

    cd FrontierSharp.CommandLine
  3. Install the required dependencies:

    dotnet restore
  4. Build the project:

    dotnet build --configuration Release

Usage

After installation, you can use the CLI tool by finding frontierctl in the bin/Release/net10.0 directory of the project. You can run it directly from the command line:

frontierctl --help

For detailed usage examples, see EXAMPLES.md.

Commands

frontierctl currently provides commands for the World API routes that still expose static game data, plus local static data utilities:

Tribe Command

Query tribe (corporation) data from the World API with fuzzy name matching.

# List all tribes
frontierctl tribe --show-all

# Get tribe by exact ID
frontierctl tribe --id 98000314

# Search for a tribe by name (supports fuzzy matching)
frontierctl tribe --name "Reapers"

# Aliases: t, corporation, corp
frontierctl t --name "Reapers"

Solar System Command

Query solar system data from the World API.

# List all solar systems
frontierctl solarsystem --show-all

# Get solar system by ID
frontierctl solarsystem --id 30024077

# Search for a solar system by name (supports fuzzy matching)
frontierctl solarsystem --name "Q:50K9"

# Aliases: system, ss
frontierctl ss --name "Q:50K9"

Type Command

Query game type (item/ship/structure types) data from the World API.

# List all types
frontierctl type --show-all

# Get type by ID
frontierctl type --id 88765

# Search for a type by name (supports fuzzy matching)
frontierctl type --name "Shipyard L"

# Aliases: tpe, tp
frontierctl tp --name "Silicate Minerals"

Data Commands

Commands for managing static game data.

# List static resources
frontierctl data static resources list

# Unpickle (extract) a static resource
frontierctl data static resources unpickle --name "resource-name"

# Aliases for resources: res, r
frontierctl data static res l

Common Options

Most World API commands support the following options:

  • --show-all: Display all items in paginated format
  • --id <id>: Query by specific ID
  • --name <name>: Search by name with fuzzy matching support
  • --page-size <size>: Control pagination size (default varies by command)

Fuzzy Matching: When searching by name, the tool will warn you if the match distance exceeds the configured threshold (default: 3). You can adjust this in config.json:

{
  "Configuration": {
    "FuzzyWarningThreshold": 3,
    "TribeMembersLimit": 25
  }
}

Contributing

We welcome contributions to FrontierSharp.CommandLine! If you would like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Make your changes and commit them with clear and concise messages.
  4. Push your changes to your fork.
  5. Create a pull request to the main repository.

Please ensure that your code adheres to the project's coding standards and includes appropriate tests.

License

This project is licensed under the MIT License. See the LICENSE file for more details.