はじめに
こんにちは、Nushellプロジェクトへようこそ。
このプロジェクトの目的は、Unixシェルの哲学を採用し、シンプルなコマンドをパイプでつなぐアイデアを現代の開発スタイルに適応させることです。 したがって、Nushell はシェルでもプログラミング言語でもなく、豊かなプログラミング言語とフル機能のシェルを一つのパッケージに統合したものなのです。
Nuは様々な馴染みのある要素からヒントを得ています:伝統的なシェル(例えばbash)、オブジェクトベースのシェル(PowerShellなど)、徐々に型付けされる言語(TypeScriptなど)、関数型プログラミング、システムプログラミングなど。
しかし、万能であるよりも、Nuはいくつかのことを上手に行うことに重点を置いています:
- モダンで柔軟なクロスプラットフォームシェルであること
- データの構造を利用して問題を解決する、モダンなプログラミング言語として機能すること
- 明確なエラーメッセージとクリーンなIDEサポートを提供すること
この本について
この本はいくつかの章に分けられ、さらにセクション毎に分割されています。 章のヘッダーをクリックすると、その章についての詳細情報が得られます。
- Getting Started では、Nushellのインストール方法と基本的な使い方を学びます。また、Nushellが典型的なシェル(例えばbash)と異なる設計原則についても説明します。
- Nu Fundamentals (EN) では、Nushell言語の基本概念について説明します。
- Programming in Nu (EN) では、言語の機能をより深く掘り下げ、コードの組織化と構造化のさまざまな方法を紹介します。
- Nu as a Shell (EN)はシェル機能に焦点を当て、特に設定と環境について詳しく説明します。
- Coming to Nu (EN)は、他のシェルや言語から移行するユーザーに迅速なスタートを提供することを目的としています。
- Design Notes (EN)では、Nushellの設計上の選択について詳細な説明があります。
- (Not So) Advanced (EN)には、少し高度なトピックが含まれています(それほど高度ではないので、ぜひチェックしてください!)。
Nushellの全て
Nushellプロジェクトは、複数の異なるリポジトリやサブプロジェクトで構成されています。our organization on GitHubでそれらをすべて見つけることができます。
- メインのNushellリポジトリはこちらです。これは複数のクレートに分けられており、ご希望であれば独自のプロジェクトで独立したライブラリとして使用できます。
- 当社のnushell.shページとこの本のリポジトリはこちらです。
- Nushellは独自のラインエディタを持っており、そのためのリポジトリがあります。
nu_scripts
は、パッケージマネージャーができるまでの間、他のユーザーとスクリプトやモジュールを共有する場所です。- Nana は、Nushellのグラフィカルユーザーインターフェースを探求する実験的な取り組みです。
- Awesome Nu には、Nushellエコシステムで動作するツールのリストが含まれています:プラグイン、スクリプト、エディタ拡張、サードパーティの統合など。
- Nu Showcase は、Nushellに関する作品を共有する場所です。ブログ、アートワーク、その他。
- Request for Comment (RFC) は、大きな設計変更を提案し議論するための場所として機能します。現在はあまり活用されていませんが、1.0に近づくにつれて、より多く使用されることを期待しています。
貢献
私たちは貢献を歓迎します! ご覧の通り、貢献する場所はたくさんあります。 ほとんどのリポジトリには、貢献を始めるのに役立つヒントと詳細が含まれているCONTRIBUTING.mdファイルがあります。(もしなければ、修正を提案することも検討してください!)。
Nushell自体はRustで書かれています。 しかし、Rustプログラマーでなくても助けることができます。 Web開発を知っている場合は、このウェブサイトやNanaプロジェクトの改善に貢献できます。 Dataframesはあなたのデータ処理の専門知識を活用できます。
もし、クールなスクリプトやプラグインを書いたり、Nushellをどこかに統合したりした場合、nu_scriptsやAwesome Nuへの貢献を歓迎します。 バグを発見し、それに対する再現ステップを提供し、GitHubのイシューとして報告することも貴重な助けとなります。Nushellを使用するだけでも、Nushellに貢献していることになります!
Nushellは急速に進化しているため、この本は常に更新が必要です。 この本への貢献には、Markdownに精通していること以外に特別なスキルは必要ありません。 さらに、あなたの言語での部分的な翻訳もできます。
コミュニティ
Nushellについて何か話し合う主な場所は、私たちのDiscordです。 ニュースやアップデートについては、Twitter でフォローすることもできます。 最後に、GitHubのディスカッションを使用するか、GitHubのイシューを提出することもできます。