{"id":13407403,"url":"https://github.com/nushell/nushell","last_synced_at":"2026-01-18T10:25:19.757Z","repository":{"id":37272238,"uuid":"186024298","full_name":"nushell/nushell","owner":"nushell","description":"A new type of shell","archived":false,"fork":false,"pushed_at":"2025-09-03T02:17:44.000Z","size":56444,"stargazers_count":36274,"open_issues_count":1508,"forks_count":1913,"subscribers_count":197,"default_branch":"main","last_synced_at":"2025-09-03T02:18:33.702Z","etag":null,"topics":["nushell","rust","shell"],"latest_commit_sha":null,"homepage":"https://www.nushell.sh/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nushell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-10T16:59:42.000Z","updated_at":"2025-09-03T02:15:04.000Z","dependencies_parsed_at":"2023-09-28T22:39:34.079Z","dependency_job_id":"aa29e1fb-d294-4b08-b02e-3b2bf8f1ba14","html_url":"https://github.com/nushell/nushell","commit_stats":{"total_commits":6260,"total_committers":521,"mean_commits":"12.015355086372361","dds":0.9006389776357827,"last_synced_commit":"07598c9620ee2aef79f36a69b25a6af631b806e9"},"previous_names":[],"tags_count":118,"template":false,"template_full_name":null,"purl":"pkg:github/nushell/nushell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nushell%2Fnushell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nushell%2Fnushell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nushell%2Fnushell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nushell%2Fnushell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nushell","download_url":"https://codeload.github.com/nushell/nushell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nushell%2Fnushell/sbom","scorecard":{"id":409975,"data":{"date":"2025-08-11","repo":{"name":"github.com/nushell/nushell","commit":"36427a7434703b353cba8555edc87a190deb61e7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 12 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/labels.yml:11","Warn: no topLevel permission defined: .github/workflows/audit.yml:1","Warn: no topLevel permission defined: .github/workflows/beta-test.yml:1","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/friendly-config-reminder.yml:1","Warn: no topLevel permission defined: .github/workflows/labels.yml:1","Warn: no topLevel permission defined: .github/workflows/milestone.yml:1","Warn: no topLevel permission defined: .github/workflows/nightly-build.yml:1","Warn: no topLevel permission defined: .github/workflows/pre-release-checkup.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/release-msi.yml:17","Warn: topLevel 'packages' permission set to 'write': .github/workflows/release-msi.yml:18","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/typos.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/winget-submission.yml:14","Warn: topLevel 'packages' permission set to 'write': .github/workflows/winget-submission.yml:15","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 0.106.1 not signed: https://api.github.com/repos/nushell/nushell/releases/236092818","Warn: release artifact 0.106.0 not signed: https://api.github.com/repos/nushell/nushell/releases/234597987","Warn: release artifact 0.105.1 not signed: https://api.github.com/repos/nushell/nushell/releases/224430612","Warn: release artifact 0.105.0 not signed: https://api.github.com/repos/nushell/nushell/releases/224402492","Warn: release artifact 0.104.1 not signed: https://api.github.com/repos/nushell/nushell/releases/220647516","Warn: release artifact 0.106.1 does not have provenance: https://api.github.com/repos/nushell/nushell/releases/236092818","Warn: release artifact 0.106.0 does not have provenance: https://api.github.com/repos/nushell/nushell/releases/234597987","Warn: release artifact 0.105.1 does not have provenance: https://api.github.com/repos/nushell/nushell/releases/224430612","Warn: release artifact 0.105.0 does not have provenance: https://api.github.com/repos/nushell/nushell/releases/224402492","Warn: release artifact 0.104.1 does not have provenance: https://api.github.com/repos/nushell/nushell/releases/220647516"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/audit.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/audit.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/audit.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/beta-test.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/beta-test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:145: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:148: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:186: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:189: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/friendly-config-reminder.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/friendly-config-reminder.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/friendly-config-reminder.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/friendly-config-reminder.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/labels.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/labels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/milestone.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/milestone.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/milestone.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/milestone.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:182: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:189: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:203: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:214: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:243: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:259: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly-build.yml:264: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/nightly-build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pre-release-checkup.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/pre-release-checkup.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pre-release-checkup.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/pre-release-checkup.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-msi.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/release-msi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-msi.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/release-msi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-msi.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/release-msi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-msi.yml:98: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/release-msi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:110: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/typos.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/typos.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/typos.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/typos.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/winget-submission.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/nushell/nushell/winget-submission.yml/main?enable=pin","Warn: containerImage not pinned by hash: docker/Dockerfile:8: pin your Docker image by updating alpine to alpine@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Warn: containerImage not pinned by hash: docker/debian.Dockerfile:8: pin your Docker image by updating debian:bookworm-slim to debian:bookworm-slim@sha256:b1a741487078b369e78119849663d7f1a5341ef2768798f7b7406c4240f86aef","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:115","Info:   0 out of  16 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  27 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: RustCargoFuzzer integration found: crates/nu-parser/fuzz/fuzz_targets/parse.rs:3","Info: RustCargoFuzzer integration found: crates/nu-parser/fuzz/fuzz_targets/parse_with_keywords.rs:3","Info: RustCargoFuzzer integration found: crates/nu-path/fuzz/fuzz_targets/path_fuzzer.rs:3"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: RUSTSEC-2024-0436"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T22:25:57.913Z","repository_id":37272238,"created_at":"2025-08-18T22:25:57.913Z","updated_at":"2025-08-18T22:25:57.913Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274365922,"owners_count":25272293,"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-09-09T02:00:10.223Z","response_time":80,"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":["nushell","rust","shell"],"created_at":"2024-07-30T20:00:39.495Z","updated_at":"2025-11-29T16:02:48.063Z","avatar_url":"https://github.com/nushell.png","language":"Rust","funding_links":[],"categories":["Linux Tools","Rust","Applications","Productivity Tools","Command Line","Terminal","🛠️ Developer Tools","Rust (42)","Shells","HarmonyOS","终端","rust","语言资源库","shell","应用","[🧑‍💻 dev](https://github.com/stars/ketsapiwiq/lists/dev)","Packages","Developer Tools","🐧 Linux","Uncategorized","Table of Contents","\u003ca name=\"shells\"\u003e\u003c/a\u003eShells","Shell/Terminal","Shell \u0026 Prompts"],"sub_categories":["System tools","Dependency Management","Development","Shell","Windows Manager","网络服务_其他","rust","Misc","开发","Shells","Command Line Tools","shell","Uncategorized"],"readme":"# Nushell \u003c!-- omit in toc --\u003e\n[![Crates.io](https://img.shields.io/crates/v/nu.svg)](https://crates.io/crates/nu)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/nushell/nushell/ci.yml?branch=main)](https://github.com/nushell/nushell/actions)\n[![Nightly Build](https://github.com/nushell/nushell/actions/workflows/nightly-build.yml/badge.svg)](https://github.com/nushell/nushell/actions/workflows/nightly-build.yml)\n[![Discord](https://img.shields.io/discord/601130461678272522.svg?logo=discord)](https://discord.gg/NtAbbGn)\n[![The Changelog #363](https://img.shields.io/badge/The%20Changelog-%23363-61c192.svg)](https://changelog.com/podcast/363)\n[![GitHub commit activity](https://img.shields.io/github/commit-activity/m/nushell/nushell)](https://github.com/nushell/nushell/graphs/commit-activity)\n[![GitHub contributors](https://img.shields.io/github/contributors/nushell/nushell)](https://github.com/nushell/nushell/graphs/contributors)\n\nA new type of shell.\n\n![Example of nushell](assets/nushell-autocomplete6.gif \"Example of nushell\")\n\n## Table of Contents \u003c!-- omit in toc --\u003e\n\n- [Status](#status)\n- [Learning About Nu](#learning-about-nu)\n- [Installation](#installation)\n- [Configuration](#configuration)\n- [Philosophy](#philosophy)\n  - [Pipelines](#pipelines)\n  - [Opening files](#opening-files)\n  - [Plugins](#plugins)\n- [Goals](#goals)\n- [Officially Supported By](#officially-supported-by)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Status\n\nThis project has reached a minimum-viable-product level of quality. Many people use it as their daily driver, but it may be unstable for some commands. Nu's design is subject to change as it matures.\n\n## Learning About Nu\n\nThe [Nushell book](https://www.nushell.sh/book/) is the primary source of Nushell documentation. You can find [a full list of Nu commands in the book](https://www.nushell.sh/commands/), and we have many examples of using Nu in our [cookbook](https://www.nushell.sh/cookbook/).\n\nWe're also active on [Discord](https://discord.gg/NtAbbGn); come and chat with us!\n\n## Installation\n\nTo quickly install Nu:\n\n```bash\n# Linux and macOS\nbrew install nushell\n# Windows\nwinget install nushell\n```\n\nTo use `Nu` in GitHub Action, check [setup-nu](https://github.com/marketplace/actions/setup-nu) for more detail.\n\nDetailed installation instructions can be found in the [installation chapter of the book](https://www.nushell.sh/book/installation.html). Nu is available via many package managers:\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/nushell.svg?columns=3)](https://repology.org/project/nushell/versions)\n\nFor details about which platforms the Nushell team actively supports, see [our platform support policy](devdocs/PLATFORM_SUPPORT.md).\n\n## Configuration\n\nThe default configurations can be found at [sample_config](crates/nu-utils/src/default_files)\nwhich are the configuration files one gets when they startup Nushell for the first time.\n\nIt sets all of the default configuration to run Nushell.  From here one can\nthen customize this file for their specific needs.\n\nTo see where *config.nu* is located on your system simply type this command.\n\n```rust\n$nu.config-path\n```\n\nPlease see our [book](https://www.nushell.sh) for all of the Nushell documentation.\n\n\n## Philosophy\n\nNu draws inspiration from projects like PowerShell, functional programming languages, and modern CLI tools.\nRather than thinking of files and data as raw streams of text, Nu looks at each input as something with structure.\nFor example, when you list the contents of a directory what you get back is a table of rows, where each row represents an item in that directory.\nThese values can be piped through a series of steps, in a series of commands called a 'pipeline'.\n\n### Pipelines\n\nIn Unix, it's common to pipe between commands to split up a sophisticated command over multiple steps.\nNu takes this a step further and builds heavily on the idea of _pipelines_.\nAs in the Unix philosophy, Nu allows commands to output to stdout and read from stdin.\nAdditionally, commands can output structured data (you can think of this as a third kind of stream).\nCommands that work in the pipeline fit into one of three categories:\n\n-   Commands that produce a stream (e.g., `ls`)\n-   Commands that filter a stream (e.g., `where type == \"dir\"`)\n-   Commands that consume the output of the pipeline (e.g., `table`)\n\nCommands are separated by the pipe symbol (`|`) to denote a pipeline flowing left to right.\n\n```shell\nls | where type == \"dir\" | table\n# =\u003e ╭────┬──────────┬──────┬─────────┬───────────────╮\n# =\u003e │ #  │   name   │ type │  size   │   modified    │\n# =\u003e ├────┼──────────┼──────┼─────────┼───────────────┤\n# =\u003e │  0 │ .cargo   │ dir  │     0 B │ 9 minutes ago │\n# =\u003e │  1 │ assets   │ dir  │     0 B │ 2 weeks ago   │\n# =\u003e │  2 │ crates   │ dir  │ 4.0 KiB │ 2 weeks ago   │\n# =\u003e │  3 │ docker   │ dir  │     0 B │ 2 weeks ago   │\n# =\u003e │  4 │ docs     │ dir  │     0 B │ 2 weeks ago   │\n# =\u003e │  5 │ images   │ dir  │     0 B │ 2 weeks ago   │\n# =\u003e │  6 │ pkg_mgrs │ dir  │     0 B │ 2 weeks ago   │\n# =\u003e │  7 │ samples  │ dir  │     0 B │ 2 weeks ago   │\n# =\u003e │  8 │ src      │ dir  │ 4.0 KiB │ 2 weeks ago   │\n# =\u003e │  9 │ target   │ dir  │     0 B │ a day ago     │\n# =\u003e │ 10 │ tests    │ dir  │ 4.0 KiB │ 2 weeks ago   │\n# =\u003e │ 11 │ wix      │ dir  │     0 B │ 2 weeks ago   │\n# =\u003e ╰────┴──────────┴──────┴─────────┴───────────────╯\n```\n\nBecause most of the time you'll want to see the output of a pipeline, `table` is assumed.\nWe could have also written the above:\n\n```shell\nls | where type == \"dir\"\n```\n\nBeing able to use the same commands and compose them differently is an important philosophy in Nu.\nFor example, we could use the built-in `ps` command to get a list of the running processes, using the same `where` as above.\n\n```shell\nps | where cpu \u003e 0\n# =\u003e ╭───┬───────┬───────────┬───────┬───────────┬───────────╮\n# =\u003e │ # │  pid  │   name    │  cpu  │    mem    │  virtual  │\n# =\u003e ├───┼───────┼───────────┼───────┼───────────┼───────────┤\n# =\u003e │ 0 │  2240 │ Slack.exe │ 16.40 │ 178.3 MiB │ 232.6 MiB │\n# =\u003e │ 1 │ 16948 │ Slack.exe │ 16.32 │ 205.0 MiB │ 197.9 MiB │\n# =\u003e │ 2 │ 17700 │ nu.exe    │  3.77 │  26.1 MiB │   8.8 MiB │\n# =\u003e ╰───┴───────┴───────────┴───────┴───────────┴───────────╯\n```\n\n### Opening files\n\nNu can load file and URL contents as raw text or structured data (if it recognizes the format).\nFor example, you can load a .toml file as structured data and explore it:\n\n```shell\nopen Cargo.toml\n# =\u003e ╭──────────────────┬────────────────────╮\n# =\u003e │ bin              │ [table 1 row]      │\n# =\u003e │ dependencies     │ {record 25 fields} │\n# =\u003e │ dev-dependencies │ {record 8 fields}  │\n# =\u003e │ features         │ {record 10 fields} │\n# =\u003e │ package          │ {record 13 fields} │\n# =\u003e │ patch            │ {record 1 field}   │\n# =\u003e │ profile          │ {record 3 fields}  │\n# =\u003e │ target           │ {record 3 fields}  │\n# =\u003e │ workspace        │ {record 1 field}   │\n# =\u003e ╰──────────────────┴────────────────────╯\n```\n\nWe can pipe this into a command that gets the contents of one of the columns:\n\n```shell\nopen Cargo.toml | get package\n# =\u003e ╭───────────────┬────────────────────────────────────╮\n# =\u003e │ authors       │ [list 1 item]                      │\n# =\u003e │ default-run   │ nu                                 │\n# =\u003e │ description   │ A new type of shell                │\n# =\u003e │ documentation │ https://www.nushell.sh/book/       │\n# =\u003e │ edition       │ 2018                               │\n# =\u003e │ exclude       │ [list 1 item]                      │\n# =\u003e │ homepage      │ https://www.nushell.sh             │\n# =\u003e │ license       │ MIT                                │\n# =\u003e │ metadata      │ {record 1 field}                   │\n# =\u003e │ name          │ nu                                 │\n# =\u003e │ repository    │ https://github.com/nushell/nushell │\n# =\u003e │ rust-version  │ 1.60                               │\n# =\u003e │ version       │ 0.72.0                             │\n# =\u003e ╰───────────────┴────────────────────────────────────╯\n```\n\nAnd if needed we can drill down further:\n\n```shell\nopen Cargo.toml | get package.version\n# =\u003e 0.72.0\n```\n\n### Plugins\n\nNu supports plugins that offer additional functionality to the shell and follow the same structured data model that built-in commands use. There are a few examples in the `crates/nu_plugins_*` directories.\n\nPlugins are binaries that are available in your path and follow a `nu_plugin_*` naming convention.\nThese binaries interact with nu via a simple JSON-RPC protocol where the command identifies itself and passes along its configuration, making it available for use.\nIf the plugin is a filter, data streams to it one element at a time, and it can stream data back in return via stdin/stdout.\nIf the plugin is a sink, it is given the full vector of final data and is given free reign over stdin/stdout to use as it pleases.\n\nThe [awesome-nu repo](https://github.com/nushell/awesome-nu#plugins) lists a variety of nu-plugins while the [showcase repo](https://github.com/nushell/showcase) *shows* off informative blog posts that have been written about Nushell along with videos that highlight technical\ntopics that have been presented.\n\n## Goals\n\nNu adheres closely to a set of goals that make up its design philosophy. As features are added, they are checked against these goals.\n\n-   First and foremost, Nu is cross-platform. Commands and techniques should work across platforms and Nu has [first-class support for Windows, macOS, and Linux](devdocs/PLATFORM_SUPPORT.md).\n\n-   Nu ensures compatibility with existing platform-specific executables.\n\n-   Nu's workflow and tools should have the usability expected of modern software in 2022 (and beyond).\n\n-   Nu views data as either structured or unstructured. It is a structured shell like PowerShell.\n\n-   Finally, Nu views data functionally. Rather than using mutation, pipelines act as a means to load, change, and save data without mutable state.\n\n## Officially Supported By\n\nPlease submit an issue or PR to be added to this list.\n\n-   [zoxide](https://github.com/ajeetdsouza/zoxide)\n-   [starship](https://github.com/starship/starship)\n-   [oh-my-posh](https://ohmyposh.dev)\n-   [Couchbase Shell](https://couchbase.sh)\n-   [virtualenv](https://github.com/pypa/virtualenv)\n-   [atuin](https://github.com/ellie/atuin)\n-   [clap](https://github.com/clap-rs/clap/tree/master/clap_complete_nushell)\n-   [Dorothy](http://github.com/bevry/dorothy)\n-   [Direnv](https://github.com/direnv/direnv/blob/master/docs/hook.md#nushell)\n-   [x-cmd](https://x-cmd.com/mod/nu)\n-   [vfox](https://github.com/version-fox/vfox)\n-   [Windmill](https://www.windmill.dev/docs/getting_started/scripts_quickstart/bash)\n\n## Contributing\n\nSee [Contributing](CONTRIBUTING.md) for details. Thanks to all the people who already contributed!\n\n\u003ca href=\"https://github.com/nushell/nushell/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contributors-img.web.app/image?repo=nushell/nushell\u0026max=750\u0026columns=20\" /\u003e\n\u003c/a\u003e\n\n## License\n\nThe project is made available under the MIT license. See the `LICENSE` file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnushell%2Fnushell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnushell%2Fnushell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnushell%2Fnushell/lists"}