diff --git a/src/routes/concept/+page.svelte b/src/routes/concept/+page.svelte
new file mode 100644
index 0000000..d20e50d
--- /dev/null
+++ b/src/routes/concept/+page.svelte
@@ -0,0 +1,31 @@
+
+
+
+ GitWorkshop: Concept
+
+
+
+ {#await get_md()}
+ loading...
+ {:then md}
+
+
+
+ {:catch error}
+
+ {error.message}
+
+ {/await}
+
diff --git a/static/concept.md b/static/concept.md
new file mode 100644
index 0000000..3022a2c
--- /dev/null
+++ b/static/concept.md
@@ -0,0 +1,124 @@
+# Concept ngit quick start guide
+
+This is a concept which the developer would like to work towards. a lot of the features / commands are not available yet.
+
+## How it Works
+
+nostr is a decentralised communications protocol with:
+ - permissionless account creation - created via a public/private key pair
+ - verifiable signed messages
+ - messages transported via relays rather than P2P
+
+Code Collaboration via Nostr
+
+ * proposals (PRs), issues and related discussion, status, etc. are sent / recieved via nostr.
+ * repository state stored in nostr.
+ * git server(s) still required for data storage and transport but they act as dumb relays (apart from use for CI/CD).
+ maintainers can change git servers via nostr and users will automatically start using the new git server.
+
+[insert diagram which makes git severs appear like just another nostr relay - potentially something like this:]
+```
+ ┌──────────┐
+ │ Author │
+ └──/─┬─\───┘
+ ,------' │ '--------.-------.
+┌──────▼─┐ ┌────▼───┐ ┌───▼───┐ ┌─▼─────┐ ┌───────┐
+│ Git │ │ Git │ │ Relay │ │ Relay │ │ Relay │
+│ Server │ │ Server │ │ │ │ │ │ │
+└────────┘ └────\───┘ └───┬───┘ └──/────┘ └─/─────┘
+ \----*-. │ ,----/---------/
+ ┌─▼──▼──▼─┐
+ │ User │
+ └─────────┘
+```
+\* git servers are used as dumb relays with content verified via nostr events.
+
+## Contributor's Quick Start Guide
+
+1. install ngit
+ * download [linux windows mac] (vX.X) add binaries $PATH
+ * OR if you have cargo use `cargo install ngit`
+2. find repository
+ * using `ngit search` eg `ngit search amethyst`
+ ```
+ name maintainer(s) starred by
+ > amethyst 👥Vitor Gigi, fiatjaf, franzap, +5 👥
+ amethyst impersonator
+ ```
+ * OR using gitworkshop.dev
+ * browse https://gitworkshop.dev/repos for the repository
+ * explore proposals and issues
+ * copy the naddr (or press the green clone button to copy the clone command)
+3. clone repository
+ `git clone nostr://naddr123...`
+4. view open proposals
+ * `ngit list` - select proposal from titles to checkout branch or apply to current branch tip
+ * OR review branches starting with 'origin/prs/*' with your favourate git tool
+ * eg. for git cli use `git branch -r --list origin/prs/` to list and `git switch prs/add-offline-mode[e9ra8281]` to check out
+ * view and contribute to the proposal discussion on gitworkshop.dev
+5. submit proposal
+ * `ngit send` to send with options
+ * OR `git push -u` on a branch without an exisitng upstream will submit it as a proposal without commentary if you are not a maintainer
+6. update proposal
+ * `git push` from your proposal branch
+7. download releases using `ngit releases amethyst`
+ ```
+ name maintainer(s) starred by
+ > amethyst 👥Vitor Gigi, fiatjaf, franzap, +5 👥
+ amethyst impersonator
+ ```
+
+ ```
+ amethyst by 👥Vitor
+ --------------------------------------
+ release # files
+ > v0.87.7: Revert Save button 14
+ v0.87.6 14
+ v0.87.5 14
+ ...
+ ```
+
+ ```
+ amethyst by Vitor
+ --------------------------------------
+ download v0.87.7: Revert Save button (14 files)
+ all (14 files)
+ > amethyst-fdroid-arm64-v8a-v0.087.7.apk
+ amethyst-fdroid-armeabi-v8a-v0.087.7.apk
+ amethyst-fdroid-universal-v8a-v0.087.7.apk
+ ...
+ ```
+
+ ```
+ downloaded to ./amethyst-fdroid-arm64-v8a-v0.087.7.apk
+ checksum verified
+ ```
+
+## Maintainer's Quick Start Guide
+0. for completely fresh git repositories
+ 1. create a new local git repository
+ * `git init`
+ * add an initial commit with a `README.md`
+ 2. setup a git server with PRs and Issues disabled
+ * github guide, codeberg guide, self host (gitea/forgejo guide)
+
+1. install ngit
+ * download [linux windows mac] (vX.X) add binaries $PATH
+ * OR if you have cargo use `cargo install ngit`
+2. initalize on nostr
+ * run `ngit init` from git repository, which will:
+ 1. announce with setting such as:
+ * inbox relays - where contributors should send proposals / issues
+ * clone - git server(s) to fetch data from
+ * settings can be updated by running `ngit init` again
+ 2. publish state
+ * from branch / tag refs on first git server in announcement
+ 3. add nostr as git remote
+ * `git push` will now update state on nostr and push data to all git servers listed in annonucment event
+3. manage proposals
+ * view and apply open proposals (see contributor guide)
+ * use gitworkshop.dev to comment on or close it
+ * if you applied a proposal to master or used `git merge`, the proposal status will be updated when you push those commits
+4. issue releases
+ [TODO]
+5. update comms - direct contributors to use nostr. eg. on readme and website.
\ No newline at end of file