Serein
Rust로 만든 가볍고 성능 좋은 Discord 전용 네이티브 클라이언트
시각·디지털·공예·공연 예술의 지속 가능한 창작 성장을 위한 아티스트와 도구를 소개
Discover artists, original work, and practical business tools built for sustainable creative growth across visual, digital, craft, and performance arts.
소셜JavaScript · CSSGitHub @Twisted-Artists-Guild온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기The front end for the TwistedArtistsGuild.com web app.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗The frontend for TwistedArtistsGuild.com — a mission-driven platform empowering artists through accessible, ethical, and scalable tools. This Next.js application brings the guild’s user-facing experience to life, blending artistic freedom with cooperative infrastructure.
Twisted Artists Guild is a digital cooperative for creators. The tag-web frontend is your portal to that world — enabling art discovery, event engagement, competition voting, and direct artist commerce. It’s fast, flexible, and built to reflect our human-first ethos.
Media is now organized by entity ID instead of changeable slugs so URLs stay stable as names evolve. The blob layout is intentionally simple and predictable:
platformpics/
├── about/
│ └── us/
├── blog/
│ └── {blogId}/
│ ├── cover/
│ ├── content/
│ └── assets/
├── usercontent/
│ └── {userId}/
│ ├── cover/
│ ├── profile/
│ └── postcontent/
│ └── {postId}/
│ ├── images/
│ └── attachments/
└── artistcontent/
└── {artistId}/
├── cover/
├── profile/
├── listing/
│ └── {listingId}/
│ ├── cover/
│ ├── gallery/
│ └── assets/
└── postcontent/
└── {postId}/
├── images/
└── attachments/
Artist media should be stored under the numeric artistId directory, not the artist slug, so directory names remain stable even if the public artist path changes.
Node.js ≥ 22.15.0 — required for --use-system-ca support, which is part of the project's security posture. This flag makes Node use the OS certificate store rather than its bundled Mozilla CA bundle, ensuring corporate/custom CA chains are trusted without disabling TLS verification. The flag was introduced in Node.js v24 and backported to v22.15.0. Versions below 22.15.0 will fail to start the dev server.
Verify your version:
node --version # must be >= 22.15.0
Upgrade (Windows — winget):
winget upgrade Node.js
Fresh install of Node.js 22 LTS (Windows — winget):
winget install OpenJS.NodeJS.LTS
macOS / Linux — via fnm:
# Install fnm if not already present
curl -fsSL https://fnm.vercel.app/install | bash
fnm install 22
fnm use 22
git clone https://github.com/twistedartistsguild/tag-web.git
cd tag-web
npm install
cp .env.example .env.local
Fill in your local values in .env.local. Do not commit secrets.
4. Start development server
npm run dev
.env.example/docs/env.md.env.example..env.local (gitignored) or your deployment secret store.To build for production:
npm run build
To lint and fix:
npm run lint
To run tests (WIP):
npm run test
Testing includes:
We welcome contributions that align with TAG’s cooperative values.
git checkout -b feat/short-descriptionUse the Conventional Commits style for all feature branches:
<type>/<short-kebab-description>feat/add-user-profilefix/deployment-scriptchore/update-docsThis approach makes it easy to identify the purpose of a branch and works well with automation and changelogs. The PR author is always visible in GitHub, so including your username in the branch name is not necessary.
Before submitting, be sure to check:
@/components/...)Contributor guides can be found in docs/CONTRIBUTING.md and docs/styleguide.md
Branch protection is enforced for all key branches to ensure code quality, consistent deployments, and clear audit trails. All contributions must go through pull requests (PRs) targeting protected branches.
Use the Conventional Commits style for all branches:
<type>/<short-kebab-description>feat/add-user-profilefix/deployment-scriptdev
devmain
maindeploy
deployMerges to these branches automatically kick off their respective pipelines. Final production swap is still manual. → twistedartistsguild.com
| Branch | Environment | Deploys To |
|---|---|---|
| dev | Vercel development slot | vcdev.twistedartistsguild.com |
| main | Vercel staging slot | vcstaging.twistedartistsguild.com |
| deploy | Azure App Service staging | staging.twistedartistsguild.com |
feat/feature_description into dev.dev into main. Merge triggers Vercel build for vcstaging.main into deploy merges and Azure pipeline deploys to staging.Our platform is built for artists, but we hope the approach will spread to other industries like wildflowers. We use GPL v3.0 to ensure anyone benefiting from our work here will similarly open source their work.
Open source • Low-profit • Community-first