Files
diachron/README.md
2026-02-02 11:37:47 -05:00

63 lines
2.0 KiB
Markdown

diachron
## Introduction
- Do you want to share a lot of backend and frontend code?
- Are you tired of your web stack breaking when you blink too hard?
- Have you read [Taking PHP
Seriously](https://slack.engineering/taking-php-seriously/) and do you wish
you had something similar for Typescript?
- Do you think that ORMs are not all that? Do you wish you had first class
unmediated access to your database? And do you think that database
agnosticism is overrated?
- Do you think dev/testing/prod distinctions are a bad idea? (Hear us out on
this one.)
- Have you ever lost hours getting everyone on your team to have the exact
same environment, yet you're not willing to take the plunge and use a tool
like [nix](https://nixos.org)?
- Are you frustrated by unclear documentation? Is ramping up a frequent
problem?
- Do you want a framework that's not only easy to write but also easy to get
inside and debug?
- Have you been bogged down with details that are not relevant to the problems
you're trying to solve, the features you're trying to implement, the bugs
you're trying to fix? We're talking authentication, authorization, XSS,
https, nested paths, all that stuff.
Is your answer to some of these questions "yes"? If so, you might like
diachron. (When it comes to that dev/test/prod one, hear us out first, ok?)
## Getting started
Different situations require different getting started docs.
- [How to create a new project](docs/new-project.md)
- [How to work on an existing project](docs/existing-project.md)
## Requirements
To run diachron, you currently need to have a Linux box running x86_64 with a
new enough libc to run golang binaries. Support for other platforms will come
eventually.
To run a more complete system, you also need to have docker compose installed.
### Development requirements
To hack on diachron itself, you need the following:
- bash
- docker and docker compose
- [fd](https://github.com/sharkdp/fd)
- golang, version 1.23.6 or greater
- shellcheck
- shfmt