Skip to main content

Mappa-import

Egy meglévő kódmappából a internal/pkg/scan buta (regex, nem AI) szkennerei felismerik a stacket és javaslatot tesznek a beolvasható tartalomra. Az import javaslat: az előnézetben pipálható, mielőtt bármi lemezre kerül.

Fázisok​

Az import fázisonként megy (stack → styles → models → pages), az első hibánál megáll részleges eredménnyel. Idempotens: név-dedup a meglévők ellen, a Processed map átugorja a kész elemeket resume-nál, az Overwrite felülír név szerint.

FázisMit keresEredmény
stackpackage.json, go.mod, angular.json, pom.xml/build.gradle, requirements.txt/pyproject.toml/manage.py, composer.json, Gemfile, *.csproj, Cargo.toml; DB deps + docker-compose.yml image-ek (postgres:, mysql:, mongo:, mssql)project.json stack blokk
stylesCSS custom property + SCSS $var → kategorizált tokenek; nem-token stíluslap → 1 komponens-vázlatDesign tokenek + komponensek
modelsCREATE TABLE, schema.prisma modelSchema modellek (schema.Field)
pagespages/ app/ routes/ views/ screens/ mappák (bárhol, monorepo-barát; app/ kivéve)Oldal-entitások

node_modules, dist, .git, .idea, .venv, Pods, .gradle stb. kihagyva. A gyökér + beágyazott .gitignore fájlok tiszteletben tartva (dependency-free glob→regex matcher).

Nem támogatott stack​

Csak a nem támogatott frontend keretrendszer (Svelte, Solid, Qwik…) blokkolja az importot — ilyenkor a wizard blocked állapotba megy, indoklással. Backend nyelv és adatbázis soha nem blokkol (a stackprofile a default profilra esik vissza).

A wizard állapotai​

pick → checking → preview → running → done
↓ ↑
blocked paused ("Folytatás innen")
  • preview — felismert stack + darabszámok + a kihagyott fájlok listája. GET /import/preview?path=<abs> közvetlenül szkennel, nyitott projekt nélkül — a .craftingtable/ csak akkor jön létre, ha ténylegesen elindítod az importot.
  • paused — a fázishiba után „full try" pipával újrapróbálható, vagy „Folytatás innen".
  • Ha a mappában már van .craftingtable, a wizard nem ugrik automatikusan az appba — mutatja a preview-t „Megnyitás import nélkül" + „Importálás indítása" (idempotens) gombokkal.

API: GET /api/v1/import/preview, POST /api/v1/import/run (mindig 200, a fázishiba a result.error-ban). A desktop app import_jobs táblában tárolja a félbehagyott munkákat (resume-hoz).

Képernyőkép — Import wizard · preview

(A képernyőkép pótlása folyamatban.)