{"id":15394190,"url":"https://github.com/xyproto/in","last_synced_at":"2025-04-15T23:52:52.636Z","repository":{"id":32337155,"uuid":"129285628","full_name":"xyproto/in","owner":"xyproto","description":":open_file_folder: Create a directory if needed, then run the given command there","archived":false,"fork":false,"pushed_at":"2024-08-23T08:23:23.000Z","size":284,"stargazers_count":15,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-29T03:02:31.076Z","etag":null,"topics":["chdir","cli","configure","mkdir-recursive","pushd","rust","shell","small","system-utility","terminal","utility"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xyproto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2018-04-12T17:07:37.000Z","updated_at":"2024-11-23T05:05:48.000Z","dependencies_parsed_at":"2024-06-19T06:10:40.581Z","dependency_job_id":"b4614a1b-a28b-4389-9461-2b7c8884a593","html_url":"https://github.com/xyproto/in","commit_stats":{"total_commits":90,"total_committers":3,"mean_commits":30.0,"dds":"0.19999999999999996","last_synced_commit":"049ba429ee6d4ed669bceef12086689889b04c59"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyproto%2Fin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyproto%2Fin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyproto%2Fin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyproto%2Fin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xyproto","download_url":"https://codeload.github.com/xyproto/in/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249173061,"owners_count":21224481,"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","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":["chdir","cli","configure","mkdir-recursive","pushd","rust","shell","small","system-utility","terminal","utility"],"created_at":"2024-10-01T15:22:14.095Z","updated_at":"2025-04-15T23:52:52.620Z","avatar_url":"https://github.com/xyproto.png","language":"Rust","readme":"![In Logo](img/logo.png)\n\n[![Build](https://github.com/xyproto/in/actions/workflows/build.yml/badge.svg)](https://github.com/xyproto/in/actions/workflows/build.yml) [![License](https://img.shields.io/badge/license-BSD-green.svg?style=flat)](https://raw.githubusercontent.com/xyproto/in/main/LICENSE)\n\nUtility to execute commands in directories, and create directories if needed.\n\nIt will also create the directories, if missing. If the top level directory is empty after executing the command, it will be removed. This means that `in testdirectory pwd` leaves no traces.\n\n## Example 1\n\n    in build cmake ..\n\nInstead of:\n\n\n    mkdir -p build\n    cd build\n    cmake ..\n    cd ..\n\nOr:\n\n    mkdir -p build\n    cmake -B build -S .\n\n## Example 2\n\n    in project ./configure --prefix=/usr\n\nInstead of:\n\n    cd project\n    ./configure --prefix=/usr\n    cd ..\n\nOr:\n\n    (cd project; ./configure --prefix=/usr)\n\nOr:\n\n    pushd project\n    ./configure --prefix=/usr\n    popd\n\n## Example 3\n\nGlobbing (note the double quotes to avoid shell expansion). No directories are created when using globbing, but the given command will be run in each directory where a matching file is found, for each matching file.\n\n    in \"./**/*pom.xml\" mvn clean\n\n## Installation\n\n### Linux\n\nManual installation, using `cargo`, `git`, `install` and `sudo`:\n\n    git clone https://github.com/xyproto/in\n    cd in\n    cargo build --release\n    sudo install -Dm755 target/release/in /usr/bin/in\n\n### FreeBSD\n\nManual installation, using `cargo`, `doas`, `git` and `install`:\n\n    git clone https://github.com/xyproto/in\n    cd in\n    cargo build --release\n    mkdir -p /usr/bin\n    doas install -m755 target/release/in /usr/bin/in\n\n## General info\n\n* Version: 1.7.4\n* License: BSD-3\n* Author: Alexander F. Rødseth \u0026lt;xyproto@archlinux.org\u0026gt;\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxyproto%2Fin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxyproto%2Fin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxyproto%2Fin/lists"}