Skip to main content

Mobile game/app design layer on GraphStack โ€” design graph, style packs, aesthetic engine

Project description

GraphCraft ๐ŸŽจ๐Ÿ“ฑ

Mobile game & app design layer on GraphStack.
Design graph ยท aesthetic engine ยท originality ยท Stitch ยท multi-stack UI

License: MIT PyPI Works with Cursor

GraphCraft is what you install and run in your mobile project. GraphStack is a dependency (cycle, gate, code graph). GraphCraft adds the design intelligence layer without forking GraphStack.

Graphify     โ†’ code graph         (graphify-out/)
GraphStack   โ†’ orchestration      (cycle, gate, roles)
GraphCraft   โ†’ design layer       (graphcraft-out/, design-system/, research/)

Install

Requirements: Python 3.8+, Git, Cursor

pip install "MertCapkin_GraphCraft[graphstack,visual]"
Extra Purpose
graphstack GraphStack + Graphify (required for full workflow)
visual PNG visual review (pillow)
dev pytest (contributors)

Pin a release:

pip install "MertCapkin_GraphCraft[graphstack] @ git+https://github.com/MertCapkin/GraphCraft.git@v2.4.0"

Quick start (your app repo)

cd C:\path\to\your-mobile-app
graphcraft init . -y --install-deps
graphcraft doctor .
graphcraft design update .

graphcraft init runs GraphStack init then GraphCraft install. You get clean handoff templates, empty graphcraft-out/, and example design files โ€” no cycle history or generated reports.


Typical UI task workflow

1. Architect     โ†’ handoff/BRIEF.md
2. Design Strategist โ†’ AESTHETIC_BRIEF.md + research pipeline (below)
3. Designer        โ†’ design/, design-system/, DESIGN_BRIEF Ready for Builder
4. Design audit    โ†’ graphcraft cycle enter-design-audit <task>
5. Builder         โ†’ packages/ui-core/ (gated)
6. Visual review   โ†’ graphcraft visual review
7. Reviewer โ†’ QA โ†’ Ship (GraphStack)

Mechanical design commands:

graphcraft cycle start my-feature "Login flow"
graphcraft cycle enter-design-strategist my-feature
# โ€ฆ strategist work โ€ฆ
graphcraft cycle enter-design-audit my-feature
graphcraft cycle enter-builder my-feature

Aesthetic & originality (anti-slop)

# 1. Fill handoff/AESTHETIC_BRIEF.md (identity + signature element)
# 2. Automated research
graphcraft aesthetic research doctor .
graphcraft aesthetic research run . --force
graphcraft aesthetic research distill .

# 3. Evaluate (includes originality score)
graphcraft design evaluate .
Score Meaning
originality โ‰ฅ 0.65 PASS โ€” sufficiently distinct
0.45 โ€“ 0.65 WARN โ€” refine thesis / tokens
< 0.45 FAIL โ€” generic / pack-default slop

Config floors in graphcraft.config.yaml:

aesthetic:
  hard_floors:
    originality_min: 0.45
    originality_warn: 0.65

Google Stitch integration

Three paths โ€” pick one:

A. One-command pull (API โ€” recommended for scripts)

$env:STITCH_API_KEY = "your-key"
# graphcraft.config.yaml โ†’ stitch.project_id: "<numeric-project-id>"

graphcraft stitch doctor .
graphcraft stitch pull . --force

Uses official @google/stitch-sdk via npx. Downloads screens โ†’ .stitch/ โ†’ design graph.

B. MCP (Cursor agent in chat)

graphcraft stitch mcp install
graphcraft stitch mcp doctor
# Authenticate: gcloud auth application-default login
# Use Stitch MCP tools in Cursor, then:
graphcraft stitch import .

C. Manual export

graphcraft stitch fetch --export-dir C:\path\to\stitch-export
graphcraft stitch import .
graphcraft stitch report .

Set design_source: stitch|hybrid in graphcraft.config.yaml.


Design graph

graphcraft design update .              # build graph
graphcraft design query "screens"       # keyword query
graphcraft design bridge                # design โ†” code map
graphcraft design unified "login flow"  # design + bridge
graphcraft design validate
graphcraft design harmony

Output: graphcraft-out/design-graph.json, DESIGN_REPORT.md


UI library (four stacks)

Stack Path
React Native / Expo packages/ui-core/rn
Flutter packages/ui-core/flutter
Unity UGUI packages/ui-core/unity
Godot 4 packages/ui-core/godot
graphcraft ui tokens emit rn
graphcraft ui validate all

Commands reference

Command Purpose
graphcraft init . GraphStack + GraphCraft overlay
graphcraft doctor . Health check
graphcraft design update . Build design graph
graphcraft design evaluate Contrast, harmony, originality
graphcraft aesthetic research run Web research โ†’ INSPIRATION.md
graphcraft aesthetic research distill Anti-slop + differentiation thesis
graphcraft stitch pull Stitch API โ†’ .stitch/
graphcraft stitch doctor Stitch auth + MCP check
graphcraft visual review PNG vs implementation
graphcraft cycle status Design phase + GraphStack role
graphcraft gate check Block ui-core until design ready

Full GraphStack commands: python -m graphstack --help


Configuration

profile: mobile-app              # mobile-app | mobile-game
design_source: native            # native | stitch | hybrid
active_stack: react-native

design:
  style: style:minimal-dark
  touch_target_min: 44

aesthetic:
  priority: balanced             # marketing | usability | balanced
  research_enabled: true
  max_research_queries: 5
  hard_floors:
    contrast_min: 4.5
    originality_min: 0.45

stitch:
  enabled: false
  project_id: ""                 # Stitch numeric project id

Project layout (after graphcraft init)

your-project/
โ”œโ”€โ”€ graphcraft.config.yaml
โ”œโ”€โ”€ design-system/              # tokens, components
โ”œโ”€โ”€ design/screens/             # screen YAML specs
โ”œโ”€โ”€ research/
โ”‚   โ””โ”€โ”€ INSPIRATION.template.md # run research to generate INSPIRATION.md
โ”œโ”€โ”€ graphcraft-out/             # generated (gitignore in your app)
โ”œโ”€โ”€ handoff/
โ”‚   โ”œโ”€โ”€ BRIEF.md                # templates โ€” fill per task
โ”‚   โ”œโ”€โ”€ AESTHETIC_BRIEF.md
โ”‚   โ”œโ”€โ”€ DESIGN_BRIEF.md
โ”‚   โ”œโ”€โ”€ REVIEW.md
โ”‚   โ”œโ”€โ”€ STATE.json
โ”‚   โ”œโ”€โ”€ DESIGN_STATE.json
โ”‚   โ””โ”€โ”€ board/                  # todo / doing / done (empty)
โ”œโ”€โ”€ .stitch/                    # Stitch reference (optional)
โ””โ”€โ”€ packages/ui-core/           # per-stack UI implementations

Do not commit: graphcraft-out/*, research/INSPIRATION.md, handoff/board/*/*.json (cycle tasks) โ€” regenerate via CLI.


Mobile stacks

Profile Targets
mobile-app React Native, Expo, Flutter, SwiftUI, Jetpack Compose, KMP, Ionic, Capacitor
mobile-game Unity UGUI, Unity UI Toolkit, Godot, Unreal UMG, Defold, Cocos

See packs/mobile-app/STACKS.md and packs/mobile-game/STACKS.md.


Documentation

Doc Content
CHANGELOG_GRAPHCRAFT.md Release history (v0.1 โ†’ v2.4)
docs/GRAPHSTACK.md GraphStack dependency
docs/FLOW.md Orchestrator overlay
docs/ARCHITECTURE.md Layer model
docs/PYPI.md PyPI install & publish
packs/stitch/README.md Stitch pack notes

Contributors (this repo)

git clone https://github.com/MertCapkin/GraphCraft.git
cd GraphCraft
pip install -e ".[full]"
py -3 -m pytest scripts/graphcraft/tests -q
python scripts/sync_graphcraft_assets.py

License

MIT โ€” see LICENSE. GraphStack is a separate MIT dependency.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mertcapkin_graphcraft-2.4.0.tar.gz (75.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mertcapkin_graphcraft-2.4.0-py3-none-any.whl (110.5 kB view details)

Uploaded Python 3

File details

Details for the file mertcapkin_graphcraft-2.4.0.tar.gz.

File metadata

  • Download URL: mertcapkin_graphcraft-2.4.0.tar.gz
  • Upload date:
  • Size: 75.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mertcapkin_graphcraft-2.4.0.tar.gz
Algorithm Hash digest
SHA256 ef02ea358bf2b20d3519c07901dd4b94ca1e92e128456022a5394f0288196f56
MD5 21e96d6a8be701a24cdd56738b05ae22
BLAKE2b-256 474d09b37b5cc0c1d9ac24a69caf12bd2d5da1447e1b253755e5abcaf7710223

See more details on using hashes here.

Provenance

The following attestation bundles were made for mertcapkin_graphcraft-2.4.0.tar.gz:

Publisher: publish.yml on MertCapkin/GraphCraft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mertcapkin_graphcraft-2.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mertcapkin_graphcraft-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 17c6ae0117d39ccdb815cc0e5d545a8b7caad8347d85661f0976692b5201c7db
MD5 f32130ac5dac0fe89c42e895017e03c3
BLAKE2b-256 76e61d18c5f2de7ad76c5028ac23fb585a441db584514ade9833988ef35511dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for mertcapkin_graphcraft-2.4.0-py3-none-any.whl:

Publisher: publish.yml on MertCapkin/GraphCraft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page