Ct.js is a 2D game editor that makes its bet on good documentation, visual tools and smooth workflow.
Repo structure & tools
app— an NW.js app, with its configs and static files.
ct.release— the ct.js game library, aka its "core"
ct.libs— catmods (modules) that ship with ct.js. Feel free to create a pull request with your module!
i18n— UI language schemes. Open for pull requests! :)
src— a source folder that compile into
/appfolder at a build time.
js— different top-level scripts, including 3rd-party libraries.
node_requires— these are copied as is to the
/appdirectory upon building ct.js, contain reusable code, and are meant to be used by
pug— HTML sources of editor's windows, written in Pug.
riotTags— components that drive all the logic in ct.js. Written in Pug and Riot.js v3.
styl— style sheets, written in Stylus.
branding— logos and icons belong here.
docs— official docs of ct.js. Edit them here.
DragonBonesJS— a dependency for enabling DragonBones' skeletal animation support in ct.js.
SSCD.js— a fork of a collision library for ct.place.
Forking and installing the dev environment
Building ct.js requires Node and npm installed on your machine.
git clone https://github.com/ct-js/ct-js.git ctjs cd ./ctjs npm install gulp-cli -g gulp -f devSetup.gulpfile.js
Running ct.js from sources
# Builds docs and adds them to ct.js app gulp docs # Recompiles source files, bundles docs, and bakes binaries gulp packages # Publishes prebuilt binaries to itch.io # This assumes that you have an access to ct.js at itch.io :) gulp deployOnly gulp deployOnly --channel next # deploy to a specific itch.io channel # Combines `gulp packages` and `gulp deployOnly` gulp deploy
The first run will be slow as it will download nw.js binaries. Next runs will use cached files.
Naming conventions for commits
Use Gitmoji-flavored Comigoji for naming your commits.