{"id":21334822,"url":"https://github.com/j03-dev/dothelix","last_synced_at":"2025-08-27T07:17:55.685Z","repository":{"id":244385415,"uuid":"815094572","full_name":"j03-dev/dothelix","owner":"j03-dev","description":"dothelix is a command-line tool for executing predefined tasks from a JSON configuration file. It reads tasks from .helix/helix.json and runs commands based on user input.","archived":false,"fork":false,"pushed_at":"2024-06-14T11:23:48.000Z","size":129,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T01:41:52.415Z","etag":null,"topics":["cli","dofile","helix","rust","task-manager"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/j03-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-14T10:42:01.000Z","updated_at":"2024-06-14T11:28:38.000Z","dependencies_parsed_at":"2024-06-14T12:04:31.864Z","dependency_job_id":"05a72bc6-5cbc-4ed6-b58d-c7c9d110b4b3","html_url":"https://github.com/j03-dev/dothelix","commit_stats":null,"previous_names":["j03-dev/dothelix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/j03-dev/dothelix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j03-dev%2Fdothelix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j03-dev%2Fdothelix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j03-dev%2Fdothelix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j03-dev%2Fdothelix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/j03-dev","download_url":"https://codeload.github.com/j03-dev/dothelix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/j03-dev%2Fdothelix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272303398,"owners_count":24910376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","dofile","helix","rust","task-manager"],"created_at":"2024-11-21T23:34:50.816Z","updated_at":"2025-08-27T07:17:55.645Z","avatar_url":"https://github.com/j03-dev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dothelix\n\n`dothelix` is a command-line tool for executing predefined tasks from a JSON configuration file. It reads tasks from `.helix/helix.json` and runs commands based on user input.\n\n## Features\n\n- Execute tasks defined in a JSON configuration file.\n- Supports optional arguments and environment variables for each task.\n- Simple and flexible way to automate common tasks like build and run.\n\n![image1](./image1.png)\n![image2](./image2.png)\n\n## Installation\n\n1. **Clone the repository**:\n   ```sh\n   git clone https://github.com/j03-dev/dothelix.git\n   cd dothelix\n   ```\n\n2. **Build the project**:\n   ```sh\n   cargo build --release\n   ```\n\n3. **Install the executable**:\n   ```sh\n   cp target/release/dothelix /usr/local/bin/\n   ```\n\n   Alternatively, you can run the executable directly from the `target/release` directory:\n   ```sh\n   ./target/release/dothelix\n   ```\n\n## Usage\n\n1. **Create a `.helix/helix.json` file** in your project root with the task definitions. Example:\n   ```json\n   {\n       \"run\": {\n           \"command\": \"cargo\",\n           \"args\": [\"run\"],\n           \"env\": {\n               \"RUST_LOG\": \"info\"\n           }\n       },\n       \"build\": {\n           \"command\": \"cargo\",\n           \"args\": [\"build\", \"--release\"]\n       }\n   }\n   ```\n\n2. **Run a task** by specifying its name:\n   ```sh\n   dothelix run\n   ```\n\n   or\n\n   ```sh\n   dothelix build\n   ```\n3. **Open helix config file** at `~/.config/helix/config.toml` and add this:\n  ```toml\n  [keys.normal]\n  F5 = [\":run-shell-command dothelix run\"]\n  F9 = [\":run-shell-command dothelix build\"]\n  ```\n## Configuration\n\nThe `.helix/helix.json` file should be located in the `.helix` directory in your project root. The structure is as follows:\n\n- `run` and `build` are task names. You can define more if needed.\n- `command` is the base command to execute.\n- `args` is an optional array of command-line arguments.\n- `env` is an optional object of environment variables.\n\n### Example\n\n```json\n{\n    \"run\": {\n        \"command\": \"node\",\n        \"args\": [\"index.js\"],\n        \"env\": {\n            \"NODE_ENV\": \"development\"\n        }\n    },\n    \"build\": {\n        \"command\": \"cargo\",\n        \"args\": [\"build\"],\n        \"env\": {\n            \"RUST_LOG\": \"debug\"\n        }\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj03-dev%2Fdothelix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fj03-dev%2Fdothelix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fj03-dev%2Fdothelix/lists"}