# Proper Development and Deployment

**URL:** https://meta.discourse.org/t/proper-development-and-deployment/321552
**Category:** Support
**Created:** [August 14, 2024, 12:19am UTC](https://meta.discourse.org/t/proper-development-and-deployment/321552 "2024-08-14T00:19:44Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Ricardo\_Maldonado](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ricardo_maldonado/32/440289_2.png) [@Ricardo\_Maldonado](https://meta.discourse.org/u/Ricardo_Maldonado)
#### Post date: [August 14, 2024, 12:19am UTC](https://meta.discourse.org/t/proper-development-and-deployment/321552/1 "2024-08-14T00:19:44Z")

</div>

Hello, this might have been asked before but I searched and couldn’t find my answer, maybe I don’t know the proper terms, I’m new to discourse but I’ve been having a problem, when I run my instance locally I make changes to the appearance, I add themes, but when I push the code to a repo in github for example, when I pull and run that instance everything is gone and I need to set everything again manually, tags, logos, custom avatars, etc.. so I wanted to know what is the proper way to develop locally and have everything done locally reflected in production when pushing to a repo??

---

<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: [August 14, 2024, 1:58am UTC](https://meta.discourse.org/t/proper-development-and-deployment/321552/2 "2024-08-14T01:58:12Z")

</div>

If you want to change things then you do them in theme components or plugins. You don’t edit the discourse core code.

[Theme Developer Quick Reference Guide](https://meta.discourse.org/t/theme-developer-quick-reference-guide/110448) [Developing Discourse Plugins - Part 1 - Create a basic plugin](https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515)
