chore: update deps, clean README, add backlog tasks and blog drafts

Update Next.js to 16.0.10, simplify README, add backlog tasks for
Postiz social scheduler, social media channels, and Listmonk newsletter
deployments. Add initial blog drafts directory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-02-15 10:32:49 -07:00
parent d9a03e63f2
commit 40afdcc30a
9 changed files with 1245 additions and 971 deletions

View File

@ -1,30 +1 @@
# Crypto Commons website
*Automatically synced with your [v0.app](https://v0.app) deployments*
[![Deployed on Vercel](https://img.shields.io/badge/Deployed%20on-Vercel-black?style=for-the-badge&logo=vercel)](https://vercel.com/jeff-emmetts-projects/v0-crypto-commons-website)
[![Built with v0](https://img.shields.io/badge/Built%20with-v0.app-black?style=for-the-badge)](https://v0.app/chat/cDLLou1ACM2)
## Overview
This repository will stay in sync with your deployed chats on [v0.app](https://v0.app).
Any changes you make to your deployed app will be automatically pushed to this repository from [v0.app](https://v0.app).
## Deployment
Your project is live at:
**[https://vercel.com/jeff-emmetts-projects/v0-crypto-commons-website](https://vercel.com/jeff-emmetts-projects/v0-crypto-commons-website)**
## Build your app
Continue building your app on:
**[https://v0.app/chat/cDLLou1ACM2](https://v0.app/chat/cDLLou1ACM2)**
## How It Works
1. Create and modify your project using [v0.app](https://v0.app)
2. Deploy your chats from the v0 interface
3. Changes are automatically pushed to this repository
4. Vercel deploys the latest version from this repository

View File

@ -13,3 +13,4 @@ auto_commit: false
bypass_git_hooks: false
check_active_branches: true
active_branch_days: 30
task_prefix: "task"

View File

@ -0,0 +1,27 @@
---
id: task-4
title: Deploy Postiz social media scheduler at socials.crypto-commons.org
status: Done
assignee: []
created_date: '2026-01-24 18:21'
updated_date: '2026-02-02 23:09'
labels: []
dependencies: []
priority: high
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Deploy self-hosted Postiz instance for managing Crypto Commons social media presence. Includes PostgreSQL, Redis, and Temporal for scheduling workflows.
<!-- SECTION:DESCRIPTION:END -->
## Implementation Notes
<!-- SECTION:NOTES:BEGIN -->
Configured PocketID authentication via auth.jeffemmett.com
Added Elasticsearch for Temporal workflow engine
OIDC Client ID: 7ac4f5ec-aab6-4f6d-882b-473d45735d47
<!-- SECTION:NOTES:END -->

View File

@ -0,0 +1,23 @@
---
id: task-5
title: Connect social media channels to Postiz
status: In Progress
assignee: []
created_date: '2026-01-24 18:25'
updated_date: '2026-02-02 23:14'
labels: []
dependencies: []
priority: high
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Configure and connect social media accounts to the Postiz instance at socials.crypto-commons.org. Channels to connect: X/Twitter, LinkedIn, Discord, YouTube, etc. Requires creating OAuth apps for each platform and adding API credentials to the .env file.
<!-- SECTION:DESCRIPTION:END -->
## Implementation Notes
<!-- SECTION:NOTES:BEGIN -->
Connected Bluesky account to Postiz
<!-- SECTION:NOTES:END -->

View File

@ -0,0 +1,29 @@
---
id: task-6
title: Deploy Listmonk newsletter system at newsletter.crypto-commons.org
status: Done
assignee: []
created_date: '2026-02-02 23:09'
updated_date: '2026-02-02 23:09'
labels: []
dependencies: []
priority: high
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Set up Listmonk for Crypto Commons Association newsletters with Resend email integration.
<!-- SECTION:DESCRIPTION:END -->
## Implementation Notes
<!-- SECTION:NOTES:BEGIN -->
Deployed at https://newsletter.crypto-commons.org
Resend configured for email sending from crypto-commons.org domain
Admin credentials: admin / CryptoCommons2026!
SMTP: smtp.resend.com with Resend API key
<!-- SECTION:NOTES:END -->

View File

@ -0,0 +1,35 @@
# All Signal, No Noise
There's something that happens when you put fifty researchers, builders, and practitioners in an Alpine guesthouse for a week with no sponsors on stage, no expo hall, and no pitches to sit through. The conversations get real. The ideas get specific. The work gets done.
That's been the experience at every Crypto Commons Gathering since we started — and it's by design.
## Research as lived practice
We don't just talk about commons. We practice commoning together. The gathering itself is an exercise in collective stewardship: participants co-create the schedule each morning, share cooking duties, maintain the space, and hold space for one another's work. The format is open, the hierarchy is flat, and the signal-to-noise ratio is extraordinarily high.
When a governance researcher presents a new framework, the protocol engineers in the room can pressure-test it before lunch. When a developer demos a tool, the political economists can contextualize it before dinner. This cross-pollination — between disciplines, between theory and practice, between the careful and the bold — is what makes these weeks so generative.
We've watched joint publications emerge from afternoon walks. Protocol integrations sketched on napkins at breakfast. Governance experiments that started as "what if..." over wine and became funded initiatives within months.
## Running at cost, building for the commons
One thing we're transparent about: we run these events nearly at cost. There's no profit motive. Ticket prices cover the venue, food, and logistics — and any proceeds go directly to funding work on the [Commons Hub](https://commons-hub.at) or the research and working groups of the Crypto Commons Association.
The Commons Hub — our communal guesthouse and event venue in the Austrian Alps — is itself a commons project. It's a place where people and ideas meet to weave new perspectives across technology, economy, society, and nature. Supporting the gathering means supporting the physical infrastructure of commoning: the building, the land, and the community that tends to both.
When you participate in a CCA event, you're not paying for a product. You're contributing to a shared resource — one that keeps producing value long after the week is over, through the relationships formed, the research published, and the tools built.
## What "all signal" actually looks like
At a typical crypto event, you might attend thirty sessions and remember three. At the gathering, every conversation counts. That's partly because of the format — unconference-style, participant-driven, small enough that everyone knows everyone by day two. But it's mostly because of the people. When everyone in the room is a practitioner with skin in the game, there's no need for filler.
This is what we mean by all signal, no noise. No panels assembled for optics. No talks given to promote a token. No networking for networking's sake. Just substantive exchange between people who are genuinely trying to figure out how distributed systems can serve the common good.
The sixth annual Crypto Commons Gathering takes place **August 1622, 2026** at the Commons Hub in Reichenau an der Rax, Austria. If this resonates, we'd love to have you.
More at [cryptocommonsgather.ing](https://cryptocommonsgather.ing)
---
*P.S. — For those drawn to the more speculative and playful end of the commons imagination, our friends are convening [Worldplay](https://worldplay.art) at the Commons Hub from June 713, 2026 — a week of economic science fiction, radical game design, participatory performance, and collective worldbuilding. Think of it as the gathering's weird sibling: same venue, same spirit of commoning, but filtered through fiction, play, and the kind of eutopian dreaming that makes the "serious" work possible. If you've ever wanted to LARP a post-capitalist economy or co-author a speculative future over a week in the Alps — this is your invitation.*

590
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -37,7 +37,6 @@
"@radix-ui/react-toggle": "1.1.1",
"@radix-ui/react-toggle-group": "1.1.1",
"@radix-ui/react-tooltip": "1.1.6",
"@vercel/analytics": "latest",
"autoprefixer": "^10.4.20",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
@ -46,7 +45,7 @@
"embla-carousel-react": "8.5.1",
"input-otp": "1.4.1",
"lucide-react": "^0.454.0",
"next": "^16.0.7",
"next": "16.0.10",
"next-themes": "latest",
"react": "19.2.0",
"react-day-picker": "9.8.0",

File diff suppressed because it is too large Load Diff