b424a2deed
- PROJECT.md: v1.2 active, why-now, scope resserré (deploy + demos + rebrand) - REQUIREMENTS.md: v1.2 section (DEPLOY-02/03, DEMO-01/02/03, REBRAND-01/02/03, COCON-01) - ROADMAP.md: phases 9 (Deploy), 10 (Demo Plugins), 11 (Rebranding + Cocon) — 6 plans - STATE.md: reset progress 0/6, focus Phase 9, context gotchas M1.1 conservé - MILESTONES.md: M1.1 partielle (Phase 8 carried), M1.2 active Prochaine étape: /gsd-plan-phase 9
55 lines
2.6 KiB
Markdown
55 lines
2.6 KiB
Markdown
---
|
||
gsd_state_version: 1.0
|
||
milestone: v1.2
|
||
milestone_name: Ship to Prod + Credibility Gap
|
||
status: M1.2 bootstrapped — 3 phases (9–11), 6 plans, awaiting /gsd-plan-phase 9
|
||
last_updated: "2026-04-22T17:00:00.000Z"
|
||
last_activity: 2026-04-22
|
||
progress:
|
||
total_phases: 3
|
||
completed_phases: 0
|
||
total_plans: 6
|
||
completed_plans: 0
|
||
percent: 0
|
||
---
|
||
|
||
# Project State
|
||
|
||
## Project Reference
|
||
|
||
- PROJECT.md: .planning/PROJECT.md
|
||
- REQUIREMENTS.md: .planning/REQUIREMENTS.md
|
||
- ROADMAP.md: .planning/ROADMAP.md
|
||
|
||
## Current Focus
|
||
|
||
Milestone: M1.2 — Ship to Prod + Credibility Gap
|
||
Phase: Phase 9 — Deploy Production (next)
|
||
Plan: 09-01 (to be planned — pull image autobuild Portainer + smoke test prod)
|
||
Status: M1.2 bootstrapped — 3 phases (9–11), 6 plans
|
||
Last activity: 2026-04-22
|
||
Resume file: lancer `/gsd-plan-phase 9`
|
||
|
||
## Milestone Context (v1.2)
|
||
|
||
- **Why v1.2** : débloquer prospection active (Discord + DMs 5-10h/sem) qui suit. Deploy + démos + cohérence branding.
|
||
- **Phase 9** : Deploy prod (Portainer autobuild pull) — M1.1 codée mais pas live
|
||
- **Phase 10** : 2-3 mini-plugins Hytale open-source — effet wahou, simple à coder, API Hytale poussée au max. Crédibilité DM Discord.
|
||
- **Phase 11** : Fix JSON-LD `index.vue` (Full Stack → Hytale Plugin Developer via siteConfig) + audit cohérence + composant `HytaleRecentArticles` sur `/hytale`
|
||
|
||
## Accumulated Context (carried from v1.1)
|
||
|
||
- Stack : Nuxt 4 SSR + Nuxt UI v3 + Tailwind v4 + pnpm + @nuxt/content v3 + nuxt-schema-org + @nuxtjs/sitemap v8
|
||
- Deployment : Docker node:22-alpine, Portainer autobuild, pull manuel par Killian côté prod
|
||
- Gotchas M1.1 (à retenir pour plans à venir) :
|
||
- `queryCollection(variable)` pas analysable par Vite extractor @nuxt/content → toujours littéraux `queryCollection('blog_fr')`
|
||
- Dans server/, importer `queryCollection` depuis `@nuxt/content/server` pour vue-tsc (sinon signature client incompatible)
|
||
- `defineSitemapEventHandler` = auto-import @nuxtjs/sitemap (pas d'import explicite)
|
||
- `defineArticle.inLanguage` typing narrow → cast `as unknown as ComputedRef<'fr-FR'>`
|
||
- `useSeoMeta.articleAuthor` attend `string[]` (pas string)
|
||
- Hook `content:file:afterParse` : propriétés injectées doivent être déclarées `.optional()` dans le schema Zod
|
||
- Imports Nitro plugin : `~/utils/...` (Nuxt 4 `~/` → `app/`)
|
||
- Articles seed Hytale en prod : `how-to-build-your-first-hytale-plugin`, `hytale-plugin-development-2026` (FR+EN, draft:false)
|
||
- `app/data/site.ts` / `app/pages/hytale.vue` / `app/utils/seo-person.ts` : `jobTitle` = "Hytale Plugin Developer" (aligné)
|
||
- `app/pages/index.vue` lignes 28 + 38 : encore "Developpeur Full Stack" (cible REBRAND-01)
|