Skip to content

Latest commit

 

History

History
63 lines (47 loc) · 1.81 KB

File metadata and controls

63 lines (47 loc) · 1.81 KB

SynCLI

A command-line interface (CLI) tool for interacting with Synapse, the Matrix homeserver.

For interacting with Matrix, this CLI uses the Mautrix Go library.

Requirements

  • Go version go1.26.0 linux/amd64

Features

  • Retrieve and manage Matrix spaces
  • Flexible configuration and debugging options

Installation

  1. Clone the repository:
    git clone <repo-url>
    cd syncli
  2. Build the binary or run other tasks using Makefile:
    make build
    make test
    make lint
    make fmt
    The lint target uses golangci-lint. Make sure it is installed.

Usage

Run the CLI with:

./syncli [command] [flags]

Example Commands

  • Get spaces:
    ./syncli get spaces --debug

Project Structure

  • main.go: Entry point for the CLI
  • cmd/: Command definitions (root, get, spaces, etc.)
  • internal/: Internal logic (config, printer, synapse API)

Configuration

Required configuration:

  • base_url: Synapse Matrix homeserver URL
  • access_token: Access token for authentication

For more information about obtaining and using an access token, refer to the Element Admin API documentation.

Configuration options can be set via configuration file (default $HOME/.syncli.yaml) or environment variables. See --help for details on available options.

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change. See CONTRIBUTING.md for more details.

License

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