| 1 |
|
- |
# Makenotwork
|
| 2 |
|
- |
|
| 3 |
|
- |
Fair creator platform with 0% platform fee (only Stripe's ~3% processing fee). Mission: Prove platforms can be fair — no percentage cuts, no lock-in, everything exportable. Stage: Private alpha — live at makenot.work.
|
| 4 |
|
- |
|
| 5 |
|
- |
## Critical Rules
|
| 6 |
|
- |
|
| 7 |
|
- |
**No Emoji.** The diamond mark (Young Serif period glyph) is the only graphic element. No emoji anywhere.
|
| 8 |
|
- |
|
| 9 |
|
- |
**Typography and colors:** See `_meta/docs/brand.md` for the three-tier type system (Young Serif / IBM Plex Mono / Lato), color palette (warm beige / charcoal-brown / violet), and the diamond mark rule.
|
| 10 |
|
- |
|
| 11 |
|
- |
**Platform Principles:**
|
| 12 |
|
- |
- **0% platform fee** — Stripe's ~3% processing fee is the only cost
|
| 13 |
|
- |
- **No lock-in** — Full data export, month-to-month cancellation
|
| 14 |
|
- |
- **Source available** — PolyForm Noncommercial 1.0.0
|
| 15 |
|
- |
|
| 16 |
|
- |
## Pricing Tiers
|
| 17 |
|
- |
|
| 18 |
|
- |
Four creator tiers: Basic ($10), Small Files ($20), Big Files ($30), Everything ($60). Canonical reference: `server/site-docs/public/guide/tiers.md`.
|
| 19 |
|
- |
|
| 20 |
|
- |
## Ecosystem
|
| 21 |
|
- |
|
| 22 |
|
- |
Monorepo: `server/`, `multithreaded/`, `pom/`, `mnw-cli/`, `shared/`. No root `[workspace]` — each project is its own crate (see `server/docs/architecture.md` for full layout and why).
|
| 23 |
|
- |
|
| 24 |
|
- |
## Coding Patterns
|
| 25 |
|
- |
|
| 26 |
|
- |
See `server/CONTRIBUTING.md` for route handler patterns, error handling, macros (`impl_str_enum!`, `define_pg_uuid_id!`), DB query style, HTMX response patterns, template conventions, migration rules, CSRF details, and frontend performance rules.
|
| 27 |
|
- |
|
| 28 |
|
- |
**JavaScript:** New JS goes in `server/static/` as static files, not inline in templates. Pass server data via `data-*` attributes. See `server/CONTRIBUTING.md` § Static JavaScript. See `server/docs/performance_philosophy.md` for the design principles behind these rules.
|
| 29 |
|
- |
|
| 30 |
|
- |
See `multithreaded/CONTRIBUTING.md` for MT-specific patterns (MNW OAuth, shared dep sync, internal HMAC API).
|
| 31 |
|
- |
|
| 32 |
|
- |
**Rust 2024 edition** (Rust 1.85+). `server/site-docs/` = DocEngine content. Server docs are in `server/docs/`.
|
| 33 |
|
- |
|
| 34 |
|
- |
## Versioning
|
| 35 |
|
- |
|
| 36 |
|
- |
- Semver in `Cargo.toml` (`env!("CARGO_PKG_VERSION")` compiles it into the binary)
|
| 37 |
|
- |
- **Before every deploy to production**, ask the user what version to set — never auto-bump
|
| 38 |
|
- |
- Version bump = edit `Cargo.toml` version field before building
|
| 39 |
|
- |
|
| 40 |
|
- |
## SyncKit
|
| 41 |
|
- |
|
| 42 |
|
- |
E2E encrypted cloud sync + OTA updates for indie apps. Design philosophy: general-purpose first, E2E encrypted by default, bring your own schema, auth via MNW accounts. See `server/docs/architecture.md` for component locations and `shared/synckit-client/` crate docs for the SDK.
|
| 43 |
|
- |
|
| 44 |
|
- |
## Operations Quick Reference
|
| 45 |
|
- |
|
| 46 |
|
- |
Detailed infrastructure, deployment, and troubleshooting docs live in `server/docs/`:
|
| 47 |
|
- |
- **Deployment:** `server/deploy/deploy.sh` (run from `MNW/server/`)
|
| 48 |
|
- |
- **Rollback:** `server/docs/rollback.md`
|
| 49 |
|
- |
- **Troubleshooting:** `server/docs/troubleshooting.md`
|
| 50 |
|
- |
- **Incident response:** `../_meta/incident_response.md`
|
| 51 |
|
- |
- **Infrastructure diagrams:** `../_meta/diagrams/infra/index.md`
|
| 52 |
|
- |
- **Service accounts:** `../_meta/service_accounts.md`
|
| 53 |
|
- |
- **Testing:** `server/docs/test_plan.md`
|
| 54 |
|
- |
- **Schema:** `server/docs/schema.md`
|
| 55 |
|
- |
|
| 56 |
|
- |
### Key IPs (for LLM-assisted SSH/deploy commands)
|
| 57 |
|
- |
|
| 58 |
|
- |
- **Hetzner (prod):** `100.120.174.96` (Tailscale) / `5.78.144.244` (public)
|
| 59 |
|
- |
- **Astra (dev/test):** `100.106.221.39` (Tailscale)
|
| 60 |
|
- |
|
| 61 |
|
- |
## CI
|
| 62 |
|
- |
|
| 63 |
|
- |
MNW CI runs self-hosted on astra (`server/deploy/run-ci.sh`). MNW has a built-in git browser (G1, `git2`-based) at `/source/`.
|