# Philosophy

Most folks who publish content with [Astro](https://astro.build/) work in two distinct _modes_. We're in **coder mode** when editing Astro components, pages, CSS etc. This is best done in a _coding tool_ like [VSCode](https://code.visualstudio.com/).

We're in **writer mode** when we're writing or editing prose in [Markdown](https://www.markdownguide.org/). Editors designed for coding are not well suited to this — they have too many distractions and lack the kinds of tools which help with writing and editing prose.

Because of this, it's common to **write** in tools like [iA Writer](https://ia.net/writer) or [Obsidian](https://obsidian.md/) and then switch to VSCode to add frontmatter, build and publish. The workflow often looks something like this:

1. Create a new draft markdown file & start writing
2. Edit and tweak (maybe over a number of sessions)
3. Add frontmatter for things like description, tags etc
4. Build & run locally to check everything works
5. Push to GitHub and deploy/publish

Steps 1-3 are very much _writer mode_ tasks, while 4 & 5 are definitely _coder mode_ tasks.

**Astro Editor is only concerned with the former**.

## Core Principles

### 1. Astro Editor is an *interface* for your content

In a local Astro site, the *content itself* is just text files on disk. You might interact with them via the command line or via a text editor like VSCode. Both are just *interfaces* to your files. **Astro Editor is exactly the same**: it's an interface for working with the *content* files in your Astro site.

### 2. Make Writer Mode easy

All of Astro Editor's features are designed to make **writing and editing** easy and pleasant and frictionless. We won't add features which don't serve that goal.

### 3. No coder-mode stuff

Astro Editor is not concerned with coder-mode stuff at all. In practice that means:

- **Code blocks are not syntax highlighted**. If you have code examples in your files you're better off authoring them in a coding tool which can properly lint, format and check them.
- **There's no mechanism for committing or publishing** in Astro Editor. You should do that in a code editor or terminal or some other app designed for that.
- **There's no way to preview your writing**. The best way to do that is by running your Astro site locally and looking at it in a browser.

### 4. Simplicity

Astro Editor values simplicity and is intentionally opinionated about its UI. We limit user customisation to _"making it work with your Astro project and no more"_. It's not possible to customise the colour schemes, typeface etc. If you need fine-grained customisation & extensibility we recommend using a custom profile in VSCode (or Obsidian) which you've set up for Markdown editing.

This also means we fully expect Astro Editor to become **finished software** at some point.