# Setting up a solid workflow for custom theme development

**URL:** https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841
**Category:** Development
**Created:** [December 9, 2018, 5:12pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841 "2018-12-09T17:12:46Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![Graphiwiz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/graphiwiz/32/126393_2.png) [@Graphiwiz](https://meta.discourse.org/u/Graphiwiz)
#### Post date: [December 9, 2018, 5:12pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/1 "2018-12-09T17:12:46Z")

</div>

Hello everyone!

I’m new here but I’d like to give Discourse a try before deciding what platform to build my community on, since I consider this the most exciting prospect out there.

Currently I’m having trouble setting up a consistent workflow.

**Preferably I’d like to either:**

a) code in the cloud using an IDE like Cloud9 ([https://c9.io](https://c9.io))  
or  
b) code locally using something like Atom

..and then preview the changes using live refresh for HTML/CSS/JS.

Whenever I’m satisfied I just push a new commit to Github. Then I import the theme remotely to my hosted Discourse install (I’ve chosen Nodechef [https://nodechef.com/discourse-hosting](https://nodechef.com/discourse-hosting) for now).

As far as I understand it I will need to be using the Discourse Theme CLI ([Install the Discourse Theme CLI console app to help you build themes](https://meta.discourse.org/t/discourse-theme-cli-console-app-to-help-you-build-themes/82950)) but I’m having trouble setting everything up.

**Reference Post:** [Install the Discourse Theme CLI console app to help you build themes - #58](https://meta.discourse.org/t/discourse-theme-cli-console-app-to-help-you-build-themes/82950/58)

Any help would be greatly appreciated!

* * *

**Notes:**

- I’ve read the basic & advanced guides to Discourse theme development several times
- If everything goes well I will probably be releasing the theme to the community probably using Theme Creator? ([https://theme-creator.discourse.org](https://theme-creator.discourse.org))
- I am not a professional coder and I don’t have much Ruby experience, I’m just a regular front-end designer/dev looking to learn and build cool stuff

---

<div class="post-metadata">

### Author: ![notriddle](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/notriddle/32/133055_2.png) [@notriddle](https://meta.discourse.org/u/notriddle)
#### Post date: [December 9, 2018, 6:10pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/2 "2018-12-09T18:10:23Z")

</div>

If you want to use Cloud9 to work on Discourse stuff, ask for an invite to [The Janitor](https://janitor.technology/). It provides a Cloud9 IDE with a dev-mode Discourse.

---

<div class="post-metadata">

### Author: ![Graphiwiz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/graphiwiz/32/126393_2.png) [@Graphiwiz](https://meta.discourse.org/u/Graphiwiz)
#### Post date: [December 9, 2018, 6:30pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/3 "2018-12-09T18:30:44Z")

</div>

Thanks, that sounds good.

I get an error when trying to log in: `Error: Failed to email you` and at sign-up I get `Already in the waitlist`.

Is the registration system in a manual approve mode or am I doing something wrong?

**EDIT** : Just saw that I have to wait a bit for approval @ [https://discourse.janitor.technology/t/welcome-to-the-janitor-community-forum/8](https://discourse.janitor.technology/t/welcome-to-the-janitor-community-forum/8)

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [December 9, 2018, 9:15pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/4 "2018-12-09T21:15:17Z")

</div>

The theme cli is the way to go. You just need somewhere that you can run it. It doesn’t matter where you’re hosted. You just need to resolve your API key problem.

---

<div class="post-metadata">

### Author: ![Graphiwiz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/graphiwiz/32/126393_2.png) [@Graphiwiz](https://meta.discourse.org/u/Graphiwiz)
#### Post date: [December 9, 2018, 10:25pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/5 "2018-12-09T22:25:13Z")

</div>

I’m an admin, I triple checked. See attached images.

 ![Capture2](https://global.discourse-cdn.com/meta/original/3X/1/a/1a54d8c3c704156c41570d88ed84281cedaea5ff.png) ![Capture](https://global.discourse-cdn.com/meta/original/3X/3/d/3dce02f6e1881047d84a06294c87efd66262915b.png)

---

<div class="post-metadata">

### Author: ![Graphiwiz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/graphiwiz/32/126393_2.png) [@Graphiwiz](https://meta.discourse.org/u/Graphiwiz)
#### Post date: [December 10, 2018, 6:14pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/6 "2018-12-10T18:14:40Z")

</div>

Tried again with no success on a fresh install using a new API key. Not sure what’s going on really.

---

<div class="post-metadata">

### Author: ![Graphiwiz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/graphiwiz/32/126393_2.png) [@Graphiwiz](https://meta.discourse.org/u/Graphiwiz)
#### Post date: [December 10, 2018, 9:35pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/7 "2018-12-10T21:35:28Z")

</div>

What’s the second best way of doing things if I can’t get the Discourse theme CLI to work?

Any ideas would be appreciated, thanks.

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [December 10, 2018, 9:56pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/8 "2018-12-10T21:56:23Z")

</div>

Using the built-in editor in `Admin > Customize > Themes` might be the best way if you can’t get the CLI to work. The CLI was built because there really wasn’t an ideal way to develop themes for Discourse previously, so I’d like to help you get that worked out if possible.

Are you able to install Discourse locally using any of the methods here: [Topics tagged dev-install](https://meta.discourse.org/tags/dev-install)? You can point the Theme CLI at localhost, which might help avoid any of the network issues you were running into.

~~Have you tried using a Discourse instance that’s not hosted by nodechef? I wonder if there’s a peculiarity with them specifically (I’m going to try an install there and see if I run into any issues).~~

Update: Just tried using nodechef and didn’t have any issues with getting the CLI up and running.

---

<div class="post-metadata">

### Author: ![Graphiwiz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/graphiwiz/32/126393_2.png) [@Graphiwiz](https://meta.discourse.org/u/Graphiwiz)
#### Post date: [December 10, 2018, 10:08pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/9 "2018-12-10T22:08:57Z")

</div>

> [@awesomerobot](#):
>
> Using the built-in editor in `Admin > Customize > Themes` might be the best way if you can’t get the CLI to work. The CLI was built because there really wasn’t an ideal way to develop themes for Discourse previously, so I’d like to help you get that worked out if possible.
> 
> Are you able to install Discourse locally using any of the methods here: [Topics tagged dev-install](https://meta.discourse.org/tags/dev-install)? You can point the Theme CLI at localhost, which might help avoid any of the network issues you were running into.
> 
> Have you tried using a Discourse instance that’s not hosted by nodechef? I wonder if there’s a peculiarity with them specifically (I’m going to try an install there and see if I run into any issues).

I’d rather not use the theme editor, it’s too basic and I also need to change the markup (add/remove functionality) which is impossible via the editor. I agree that the CLI is the way to go, that’s why I’m still trying to make it work.

No, I have not tried other hosts. Looking into options currently.

Let me know if you find out anything, I’d appreciate it!

---

<div class="post-metadata">

### Author: ![Graphiwiz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/graphiwiz/32/126393_2.png) [@Graphiwiz](https://meta.discourse.org/u/Graphiwiz)
#### Post date: [December 10, 2018, 10:09pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/10 "2018-12-10T22:09:51Z")

</div>

> [@awesomerobot](#):
>
> Update: Just tried using nodechef and didn’t have any issues with getting the CLI up and running.

Interesting. Maybe I should just delete the instance and create a new one on Nodechef?

Not sure if I will be charged again if I delete & create a new one though.

---

<div class="post-metadata">

### Author: ![Graphiwiz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/graphiwiz/32/126393_2.png) [@Graphiwiz](https://meta.discourse.org/u/Graphiwiz)
#### Post date: [December 11, 2018, 1:16am UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/11 "2018-12-11T01:16:47Z")

</div>

> [@Graphiwiz](#):
>
> Not sure if I will be charged again if I delete & create a new one though.

**Status update** (for anyone interested/similar situation):

With @awesomerobot’s assistance we’ve debugged the issue and it seems that Nodechef randomly installed an older version _Discourse 2.0.0.beta **3** _ on my account instead of _Discourse 2.0.0.beta **4** _ which is required for the CLI.

Also important to note is that if you delete your instance and try to do a fresh install, Nodechef **WILL INSTANTLY CHARGE YOUR CARD AGAIN** , even if you’ve paid a minute ago for the last forum instance.

As for my path, I’m currently considering doing a self hosted install, probably using one of the [Recommended Hosting Providers for Self Hosters](https://meta.discourse.org/t/recommended-hosting-providers-for-self-hosters/79562).

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [March 14, 2019, 10:28pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/12 "2019-03-14T22:28:50Z")

</div>

See

> [@Get started with Theme Creator and the Theme CLI](https://meta.discourse.org/t/beginners-guide-to-using-theme-creator-and-theme-cli-to-start-building-a-discourse-theme/108444):
>
> This topic will walk you through how to use the [Theme CLI](https://meta.discourse.org/t/discourse-theme-cli-console-app-to-help-you-build-themes/82950) with our [Theme Creator](https://meta.discourse.org/t/theme-creator-create-and-show-themes-without-installing-discourse/84942) site to develop a theme and preview your changes on a live Discourse site. [Sign up for an account here on Meta](https://meta.discourse.org/signup) if you haven’t already [Log in to Theme Creator](https://discourse.theme-creator.io/login) Install the Theme CLI via the [instructions here](https://meta.discourse.org/t/discourse-theme-cli-console-app-to-help-you-build-themes/82950) Create a new theme on Theme Creator by: Visiting [https://discourse.theme-creator.io/my/themes](https://discourse.theme-creator.io/my/themes) Clicking Install, and selecting the “Create New” option. Giving your theme a unique name (you can ignore…

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [March 14, 2019, 10:28pm UTC](https://meta.discourse.org/t/setting-up-a-solid-workflow-for-custom-theme-development/103841/13 "2019-03-14T22:28:53Z")

</div>


