https://github.com/ahelmy/xdev
Xdev is your all-in-one developer toolkit
https://github.com/ahelmy/xdev
converter datetime developer-tools devtoys encoding golang json jwt password-generator time toolkit tools ulid url uuid xdev
Last synced: 7 days ago
JSON representation
Xdev is your all-in-one developer toolkit
- Host: GitHub
- URL: https://github.com/ahelmy/xdev
- Owner: ahelmy
- License: other
- Archived: true
- Created: 2023-12-26T21:36:42.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-21T12:42:52.000Z (over 1 year ago)
- Last Synced: 2025-11-22T19:05:34.607Z (about 2 months ago)
- Topics: converter, datetime, developer-tools, devtoys, encoding, golang, json, jwt, password-generator, time, toolkit, tools, ulid, url, uuid, xdev
- Language: Go
- Homepage: https://xdev.run
- Size: 2.12 MB
- Stars: 29
- Watchers: 2
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README

# X development tools
[](https://discord.com/invite/HwBWUSRUew) [](https://codecov.io/gh/ahelmy/xdev)
## Inspired by [DevToys](https://github.com/veler/DevToys)
XDev helps with daily development tasks like formatting JSON, base64 encoding / decoding and others. No need to use many untrustworthy websites to do simple tasks with your data.
## Table of Contents
- [Installation](#installation)
- [Development](#development)
- [Usage](#usage)
- [Architecture](#architecture)
- [Docker](#docker)
- [Kuberenetes](#kuberenetes)
- [Web UI](#web-ui)
- [Features](#features)
- [Contributing](#contributing)
- [License](#license)
## Installation
1. Clone the repository:
```shell
git clone https://github.com/ahelmy/xdev.git
```
2. Navigate to the project directory:
```shell
cd xdev
```
3. Build from source:
```shell
go build -o xdev
```
4. Start the application:
```shell
./xdev
```
## Development
Requirements:
- go >= 1.20
## Usage
You can use it directly by:
```shell
go install github.com/ahelmy/xdev@main
```
if `go/bin` is not in your path, either add it or use `~/go/bin`
```shell
xdev -h
```
```shell
Developer Swiss Army Knife tools X for anything.
Usage:
xdev [flags]
xdev [command]
Available Commands:
base64decoder Decode base64 string. Alias: b64d
base64encoder Encode string to base64. Alias: b64e
completion Generate the autocompletion script for the specified shell
hash Hash a string
help Help about any command
json JSON indentation and minification
json2yaml Convert JSON to YAML. Alias: j2y
jwt Decode or encode a JWT string.
password Password generator. Alias: pwd
properties2yaml Convert Java Properties to YAML, Alias: p2y
server Start a web server, Alias: s
time Time command to covert and manupulate time
ulid Generate a ulid string
url URL encode/decode.
uuid Generate a uuid string, and uuid conversion
yaml2json Convert YAML to JSON. Alias: y2j
yaml2properties Convert YAML to Java Properties, Alias: y2p
Flags:
-h, --help help for xdev
-v, --version Print the version number
Use "xdev [command] --help" for more information about a command.
```
## Architecture
The project devided into layers, the core (internal) which contains all logic and outside layers of different consumers (command line, APIs, webUI, terminal).
## Docker
If you want to use `Xdev` as server running in docker container you can use https://hub.docker.com/r/ahelmy0/xdev
`Environment`
- `PORT` Server port, default: 8000
- `VERBOSE` To enable verbose mode.
## Kuberenetes
Healthcheck endpoint for liveness & readiness
`GET /api/health`
```
readinessProbe:
httpGet:
path: /api/health
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
httpGet:
path: /api/health
initialDelaySeconds: 10
periodSeconds: 10
```
## Web UI








## Features
List of features:
- [X] UUID, ULID Generator, conversion
- [X] JWT encoding / decoding
- [X] Base64 encoding / decoding
- [X] JSON indention / minifying
- [X] Password generator
- [X] JSON to Yaml
- [X] Yaml to JSON
- [X] URL encoding / decoding
- [X] Add hashing (SHA256, MD5, ...)
- [X] Time conversion
- [X] Yaml2Properties
**Next**
- [ ] Text differences.
- [ ] Add `choco`, `brew` and `linux` package managers download.
...
## Contributing
If you are interested to fix an issue or to add new feature, you can just open a pull request.
### Contributors

## License
Licensed with Apache 2.0