Skip to content
A skeleton repository for Spatie's Nova Packages
PHP Vue HTML JavaScript CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci nitpick Aug 24, 2018
.github Create FUNDING.yml Jul 12, 2019
resources commit Aug 22, 2018
src fixes Aug 22, 2018
.editorconfig commit Aug 22, 2018
.eslintrc add linter and prettier Aug 24, 2018
.gitattributes commit Aug 22, 2018
.styleci.yml initial commit Aug 13, 2018 initial commit Aug 13, 2018 add placeholders Aug 22, 2018 Update Sep 14, 2018
composer.json fix service provider name Aug 22, 2018
package.json add circle ci Aug 24, 2018
yarn.lock Bump mixin-deep from 1.3.1 to 1.3.2 Aug 29, 2019

Using this skeleton (remove this section after you have completed these steps)

This repo contains a skeleton to easily create Nova Tool packages. It contains a few niceties not present in the default Nova Tool scaffolding.

First clone this repo to your development machine and remove the .git directory. Next run git init to create another repo. Create a new repo on GitHub (or another source control saas) and point the origin remote of your cloned repo to the one you just created. Here's an example: git remote add origin Commit all files and push to master.

Next replace these variables in all files of your repo:

  • :author_name (example: 'Freek Van der Herten')
  • :author_username (example: 'freekmurze')
  • :author_email (example: '')
  • :package_name (example: 'nova-tail-tool')
  • :package_description (example: 'A tool to tail the log')
  • :vendor (example: 'spatie')
  • :namespace_vendor (example: 'Spatie')
  • :namespace_tool_name (example: 'TailTool')

Next run composer install, yarn and yarn production.

If you don't have a Nova app already head over the nova installation instructions.

To use your customized package in a Nova app, add this line in the require section of the composer.json file:

   ":vendor/:package_name": "*",

In the same composer.json file add a repositiories section with the path to your package repo:

    "repositories": [
            "type": "path",
            "url": "../:package_name"

Now you're ready to develop your package inside a Nova app.

When you are done with the steps above delete everything above!


Latest Version on Packagist CircleCI branch Build Status Quality Score Total Downloads

This is where your description should go. Try and limit it to a paragraph or two.

Add a screenshot of the tool here.


You can install the package in to a Laravel app that uses Nova via composer:

composer require :vendor/:package_name

Next up, you must register the tool with Nova. This is typically done in the tools method of the NovaServiceProvider.

// in app/Providers/NovaServiceProvider.php

// ...

public function tools()
    return [
        // ...
        new \:namespace_vendor\:namespace_tool_name\Tool(),


Click on the ":package_name" menu item in your Nova app to see the tool provided by this package.


composer test


Please see CHANGELOG for more information on what has changed recently.


Please see CONTRIBUTING for details.


If you discover any security related issues, please email :author_email instead of using the issue tracker.


You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.

We publish all received postcards on our company website.


Support us

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

Does your business depend on our contributions? Reach out and support us on Patreon. All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff.


The MIT License (MIT). Please see License File for more information.

You can’t perform that action at this time.