{"id":13541304,"url":"https://github.com/nushell/nu_plugin_template","last_synced_at":"2025-04-19T11:40:49.532Z","repository":{"id":106105156,"uuid":"579779931","full_name":"nushell/nu_plugin_template","owner":"nushell","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-22T13:09:34.000Z","size":42,"stargazers_count":13,"open_issues_count":1,"forks_count":4,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-09T18:09:56.263Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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":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":"2022-12-18T22:14:02.000Z","updated_at":"2024-12-14T20:56:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"d3bd2d1d-7618-4ac8-86d1-9ca38841cc10","html_url":"https://github.com/nushell/nu_plugin_template","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nushell%2Fnu_plugin_template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nushell%2Fnu_plugin_template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nushell%2Fnu_plugin_template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nushell%2Fnu_plugin_template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nushell","download_url":"https://codeload.github.com/nushell/nu_plugin_template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249195406,"owners_count":21228193,"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":[],"created_at":"2024-08-01T10:00:43.540Z","updated_at":"2025-04-16T04:32:48.903Z","avatar_url":"https://github.com/nushell.png","language":"Rust","readme":"# nu_plugin_template\n\nThis template is intended to be used with [cargo-generate](https://github.com/cargo-generate/cargo-generate) in order to quickly bootstrap nushell plugin projects.\n\nYou must run `cargo generate` with `--force`.\n\n## Usage:\n\n```\n\u003e cargo generate --force --git https://github.com/nushell/nu_plugin_template\n🤷   What will this plugin be named?: foo\nCreating a new plugin named \"foo\"\nYour plugin crate will be named \"nu_plugin_foo\".\n\nNote that the MIT license is used by default, to reflect the majority of                  \nNushell projects. You can change this manually if you'd like to.\n                                                        \n!!! IMPORTANT !!!                            \nYou must run cargo generate with --force, or it will rename your project to\nsomething that is non-standard for Nushell plugins and this will fail.\n                                                        \nIf you see a message after this about renaming your project, please abort and\ntry again with --force.     \n                                                        \n🔧   Destination: /var/home/devyn/Projects/nushell/nu_plugin_foo ...\n🔧   project-name: nu_plugin_foo ...\n🔧   Generating template ...          \n🤷   What should your first command be called? (spaces are okay): foo\n✔ 🤷   Do you intend to create more than one command / subcommand? · No \n✔ 🤷   Would you like a simple command? Say no if you would like to use streaming. · Yes\n🤷   What is your GitHub username? (Leave blank if you don't want to publish to GitHub) [default: ]: \n🔧   Moving generated files into: `/var/home/devyn/Projects/nushell/nu_plugin_foo`...\n🔧   Initializing a fresh Git repository      \n✨   Done! New project created /var/home/devyn/Projects/nushell/nu_plugin_foo\n\u003e cd nu_plugin_foo\n\u003e cargo build\n\u003e plugin add target/debug/nu_plugin_foo\n\u003e plugin use foo\n\u003e foo Ellie\nHello, Ellie. How are you today?\n```\n\n## Config values\n\n- `plugin_name` - all nushell plugins are binaries with the name format\n`nu_plugin_SOMETHING`. This is how nushell discovers them. You need to tell this\ngenerator what that `SOMETHING` is. If you enter `random` as the plugin name,\nyour binary will be called `nu_plugin_random`.\n\n- `command_name` - the name of your first/only command. This can be any valid nushell command name,\nand can contain spaces. For example, if you're creating a format plugin for `FORMAT` files, you\nmight choose to go with `from FORMAT` or `to FORMAT`.\n\n- `multi_commmand` - set to `Yes` if you expect that you'll be creating more than one command, in\nwhich case we'll create a `commands` module for you and put the command in there. Set to `No` if you\nwould rather just have everything in `src/main.rs`.\n\n- `command_is_simple` - set to `Yes` if you want a `SimplePluginCommand` with no streaming support,\nor `No` if you want `PluginCommand` with a streaming example.\n\n- `github_username` - we'll use this to set the repository field in `Cargo.toml` if you set it.\n\n","funding_links":[],"categories":["Plugins"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnushell%2Fnu_plugin_template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnushell%2Fnu_plugin_template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnushell%2Fnu_plugin_template/lists"}