{"id":13665241,"url":"https://github.com/softprops/np","last_synced_at":"2025-07-27T22:34:44.303Z","repository":{"id":1641097,"uuid":"2366023","full_name":"softprops/np","owner":"softprops","description":"new sbt project generation made simple(r)","archived":false,"fork":false,"pushed_at":"2013-10-03T02:56:52.000Z","size":146,"stargazers_count":149,"open_issues_count":4,"forks_count":14,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-07-26T10:46:38.199Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","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/softprops.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}},"created_at":"2011-09-11T15:54:55.000Z","updated_at":"2025-04-03T16:05:55.000Z","dependencies_parsed_at":"2022-07-25T21:48:30.232Z","dependency_job_id":null,"html_url":"https://github.com/softprops/np","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/softprops/np","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softprops%2Fnp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softprops%2Fnp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softprops%2Fnp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softprops%2Fnp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softprops","download_url":"https://codeload.github.com/softprops/np/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softprops%2Fnp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267436677,"owners_count":24086898,"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-07-27T02:00:11.917Z","response_time":82,"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":[],"created_at":"2024-08-02T06:00:30.556Z","updated_at":"2025-07-27T22:34:44.271Z","avatar_url":"https://github.com/softprops.png","language":"Scala","funding_links":[],"categories":["Scala","SOURCE"],"sub_categories":[],"readme":"# np\n\nSimple utility for creating new projects in Sbt\n\nSteps it took to get this project started\n\n    $ touch build.sbt\n    $ mkdir -p src/{main,test}/scala\n    $ e build.sbt # fill in the basics (name, organization, version)\n    $ touch README.md \u0026\u0026 e README.md\n    $ sbt\n    # start coding\n\nDesired steps to take to start this project\n\n    $ sbt\n    $ np name:np\n    # start coding\n\n^ No context switching ^.\n\nAlready have a project and want a sub project? No problem.\n\n    $ sbt\n    $ np name:my-sub-project dir:sub-project-dir\n\nThis will create a new sbt project source tree for a project named my-sub-project under\nthe directory named sub-project-dir relative you your projects base directory. From your main build configuration you can use this as a stub and reference it as.\n\n    lazy val sub = Project(\"my-sub-project\", file(\"sub-project-dir\"))\n\nOr remove the generated stub `build.sbt` and just use the generate source tree\n\n## Requirements\n\n- Simple Build Tool\n- The burning desire to start your projects quickly\n\n## Installation\n\nIn most cases a global installation will make the most sense as the target usage for this plugin is the creation of new projects\n\n\n### For sbt 0.12 or lower\n\nFor global installation, if you have a `~/.sbt` directory created, in a `~/.sbt/plugins/build.sbt` file add the following\n\nFor local installation, if you have a `~/project` directory created, in a `~/project/build.sbt` file add the following\n\n    addSbtPlugin(\"me.lessis\" % \"np\" % \"0.2.0\")\n\n    resolvers += Resolver.url(\"sbt-plugin-releases\",\n      url(\"http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/\"))(\n        Resolver.ivyStylePatterns)\n\nOr if you prefer, you can call depend on the project reference as a `git` repository.\n\n    import sbt._\n\n    object Plugins extends Build {\n      lazy val root = Project(\"root\", file(\".\")) dependsOn(\n        uri(\"git://github.com/softprops/np.git#0.2.0\")\n      )\n    }\n\nBe sure to _explicitly_ mix np's settings into your build definition.\n\n    seq(npSettings: _*)\n\nDoing this in a global `.sbt` file under `~/.sbt` (e.g. ~/.sbt/np.sbt) will make `np`'s setting available to all of your sbt projects.\n\n### For sbt 0.13+\n\nIf you don't already have one, create an `~/.sbt/0.13/plugins` directory. And inside of it, create an `np.sbt` ( it doesn't matter what you call it ) file containing the line\n\n    addSbtPlugin(\"me.lessis\" % \"np\" % \"0.2.0\")\n    \nThis will make `npSettings` globally visible to your project definitions.\n\nIf you wish to globally mix in `npSettings`, create a file under `~/.sbt/0.13` called `np.sbt` ( it doesn't matter what you call this either ) containing the line\n\n    seq(npSettings: _*)\n\n### Customization\n\nIf you have a lot of projects that use the same ivy organization id (your own) or you always start projects with the same version conventions (a SNAPSHOT), you may want to define your own custom global overrides.\n\nTo do so, in a `~/.sbt/np.sbt` file in sbt 0.12, or `~/.sbt/0.13/np.sbt` file in 0.13, add the following.\n\n    seq(npSettings:_*)\n\n    (NpKeys.defaults in (Compile, NpKeys.np)) ~= {\n      _.copy(org=\"me.lessis\", version=\"0.1.0-SNAPSHOT\")\n    }\n\nSee the `np` option reference section below for all available options\n\n## Settings\n\n    np               # generates a new project given a set of options\n    scout(for np)    # detects potential conflicts with generating a project, recommended before np\n    usage(for np)    # displays usage options\n    defaults(for np) # default values for options\n\nIn sbt 0.13 you can resolve the scoped settings using `::`\n\n    np::scout\n    np::usage\n    np::defaults\n\n### np option reference\n\n`np` generates sbt projects given `key:value` options. Below is a list of current options\n\n    org     Project organization. Defaults to defaults key sbt built-in default\n    name    Project name. Defaults to defaults key or sbt built-in default\n    version Project version. Defaults to defaults key or sbt built-in default\n    plugin  Boolean indicator of whether the project is a plugin project. Defaults to defaults key or false\n    dir     Path to dir where np should generate project. Defaults to defaults key or '.'\n\n## Contributing / Issues\n\nPlease post any issues or ideas you have to [np's issues](https://github.com/softprops/np/issues)\n\nIf you like rolling up your sleeves, feel free to fork and create a feature branch\n\nDoug Tangren (softprops) 2011-12\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftprops%2Fnp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftprops%2Fnp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftprops%2Fnp/lists"}