cat-snacks
cat-snacks copied to clipboard
🐦😻 a bot that tweets adorable cat faces!
cat-snacks 😸
It is an explicit goal of this project to be patient with and friendly to everyone participating!
@catsnacks is a collaborative Twitter bot & exists to explore the universe of adorable cat faces. You can help @catsnacks do this by adding new ways to draw cat faces!
Note: the first iteration of @catsnacks had a very Neko Atsume feel to it (I was playing and enjoying the game around the time I made the original prototype) but I want to expand way beyond that aesthetic to encompass all kinds of cartoon kitties.
How to contribute
First, take a look at the code of conduct! After that, please feel free to:
Open issues with questions
- you will be met with patience and kindness!
- it is totally acceptable to ask for tech support via creating an issue here
Open issues with suggestions
- even if you can't or don't want to code!
- you could...
- describe your idea
- add a sketch or drawing
- link to a reference image of something you think should be added
Send pull requests
- these don't have to be perfect! (the caveat being, if I make changes to your code after merging it, please don't be sad! it's only done in the spirit of making things modular & readable for future cat-face explorers)
Getting started
$ git clone https://github.com/beaugunderson/cat-snacks
$ cd cat-snacks
$ npm install
$ npm start # this starts a browser version with live reload
To figure out how bezier curve math works this interactive curve tool can be helpful.
How to add a new part
Let's say you wanted to add tabby markings, you could accomplish that with these steps:
- make a new file for the drawing code:
./parts/tabby-markings.js - put a function in
module.exportsof that file that takesctxandoptionsparameters - add options to
generate-cat.jsif it makes sense to (for example maybe you want to be able to expose some of the parameters for tweaking) - import your module from the module that will call it, in this case
./parts/head-markings.jsand call it where it makes sense to (in this case by adding it to the list of randomly-chosen facial marking functions)
Help wanted!
- more colors (or color sets, colors that work well together)
- accessories (snacks, toys, hats)
- different mouths, eyes, noses, stripes, fur patterns
- notched ears
- different backgrounds (gradients? stripes? chevrons?)
- reference images of cartoon cat faces for inspiration, maybe a
./referencedirectory? - filters?
