Space Kitty - An Opinionated Meteor Framework

Space Kitty 0.1.4 Beta Released!

Blog Post: http://blog.capsulecat.com/2016/01/11/space-kitty-released/
Website: http://spacekitty.capsulecat.com/
Github: https://github.com/CapsuleCat/SpaceKitty

Space Kitty boils down to a Command Line Interface that let’s you generate projects, views, commands, collections, migrations, and more using simple commands.

Example:

npm install -g space-kitty
kitty create MyApp
kitty make:view Navigation
kitty make:view Todo List
kitty make:view Todo Item
kitty make:migration PopulateTodoItems

This will generate a project with some default packages already included (like react, materialize), then it will make a set of namespaced views and a timestamped migration for you to fill in.

For those coming from PHP and have used Laravel before, this project aims to be very similar to that.

Here is our roadmap for those interested in what we are planning on integrating into the tool. One of the main things that we want to stress is that we are going to follow Mantra (h/t to Arunoda for all his amazing work) and the Official Meteor Guide as closely as possible.

We are currently still working on how we should approach certain problems, so we are definitely open to critical feedback, thoughts, opinions, and pull requests :wink: .

10 Likes

Awesome! Please let me know if you run into anything weird in the guide, and we can work together on a solution.

1 Like

Thats a very good idea, but its difficult to follow the meteorguide and the mantra spec now.
MDG guide is only available for 1.2 and mantra is 1.3 only :sunglasses:

2 Likes

There are a lot of idea in Mantra that don’t solely apply to 1.3 of Meteor :wink: But yeah, I see your point.

Well, when 1.3 comes out we’re going to update the guide with some gems like application structure and testing, pretty excited for that.

8 Likes

Now you are talking :smile:

Really looking forward to more opinionated-ness in Meteor! I hope this or something like this becomes the “one-true-way”!

4 Likes

Testing will be a great addition to the Meteor guide. There are a lot of different options out there right now and it would be great if there were some standards on this. sanjo:jasmine comes to mind, but there really should a clear solution for packages as well.

3 Likes

@idmontie to my naive mind, this looks like it’s a specific yeoman generator for meteor.
How is this different to someone making a meteor-1.3-react or a meteor-blaze generator and using familiar the ‘yo’ CLI to build up their boilerplate?

1 Like

Hmm. What are the differences between this and Mantra?

You are right, you can use yoeman to generate scaffolding for you.

Right now the project does generate mostly scaffolding, but I am hoping for it do a lot more in the future. One thing will be incorporating testing using ChimpJS and Enzyme and database seeding without running Migrations (since you don’t really want to run data seeding on prod, or even dev). Another thing about being opinionated is that I can make the tool do a lot more since I can assume a lot about the project that is being written.

Does that make sense?

1 Like

Mantra is a guideline for applications, this is a tool that adheres to those guidelines.

1 Like

I see what you’re saying. In my opinion, if you want this to take off, you’re going to have to demonstrate all that other stuff very soon. I mean, it’s pretty clear how much the community values stability. It might be difficult to get people to use it if it doesn’t feel like your framework offers 10x value.

That being said, I really do hope you succeed! Best of luck.

1 Like

You can include gulp/grunt and kick off some simple tasks to run these too. The latest one I’m using in production: https://github.com/newtriks/generator-react-webpack (not related to Meteor). It comes with Mocha/Chai, dev/prod env for webpack, example react component.
I modified the output directory and added some bundling/loader plugins. Couldn’t be easier to get started making components.

Yeah, I’m looking to just have those type of pipelines included in a project by default and ready for running on your machine and on CI tools.

My philosophy with Space Kitty is to incorporate all the best practices into a standard way of doing things, that way myself or devs I work with don’t have to worry about setting up any pipelines for running tests or database seeding when we make a new project.

When it comes to Meteor, scaffolding generation is just one problem that still needs to be tackled and it is one of the easier problems on the list. Other frameworks such as Laravel and Ruby on Rails offer so much more out-of-the-box. When you create a Rails project, you don’t have to also go install yoeman, npm, research which packages to use for routing, migrations, and testing, and tie them all together. Instead, you get a set of gems and commands that let you do awesome things out-of-the-box because there are assumptions that it can make about how your app is written.

Anyway, that’s my argument for why a tool like this should exist. Yes you can use yoeman, but you can also use yoeman with Laravel and Ruby on Rails; so, I don’t see the argument about how yoeman existing means this project does not have a place.

In what way is this similar to Laravel exactly?

I guess it would be more appropriate to say this is more like artisan or rake.

Perhaps, seems like a prime candidate for a Yeoman generator imo.

1 Like

Wow, finally? Awesome!

2 Likes

Also, meteor-io is relevant:

https://www.npmjs.com/package/meteor-io

1 Like