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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef02ea358bf2b20d3519c07901dd4b94ca1e92e128456022a5394f0288196f56
|
|
| MD5 |
21e96d6a8be701a24cdd56738b05ae22
|
|
| BLAKE2b-256 |
474d09b37b5cc0c1d9ac24a69caf12bd2d5da1447e1b253755e5abcaf7710223
|
Provenance
The following attestation bundles were made for mertcapkin_graphcraft-2.4.0.tar.gz:
Publisher:
publish.yml on MertCapkin/GraphCraft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mertcapkin_graphcraft-2.4.0.tar.gz -
Subject digest:
ef02ea358bf2b20d3519c07901dd4b94ca1e92e128456022a5394f0288196f56 - Sigstore transparency entry: 1900514417
- Sigstore integration time:
-
Permalink:
MertCapkin/GraphCraft@2a37c0a013e79450f2844f94c3c00dbd590880ae -
Branch / Tag:
refs/tags/v2.4.0 - Owner: https://github.com/MertCapkin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2a37c0a013e79450f2844f94c3c00dbd590880ae -
Trigger Event:
release
-
Statement type:
File details
Details for the file mertcapkin_graphcraft-2.4.0-py3-none-any.whl.
File metadata
- Download URL: mertcapkin_graphcraft-2.4.0-py3-none-any.whl
- Upload date:
- Size: 110.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17c6ae0117d39ccdb815cc0e5d545a8b7caad8347d85661f0976692b5201c7db
|
|
| MD5 |
f32130ac5dac0fe89c42e895017e03c3
|
|
| BLAKE2b-256 |
76e61d18c5f2de7ad76c5028ac23fb585a441db584514ade9833988ef35511dd
|
Provenance
The following attestation bundles were made for mertcapkin_graphcraft-2.4.0-py3-none-any.whl:
Publisher:
publish.yml on MertCapkin/GraphCraft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mertcapkin_graphcraft-2.4.0-py3-none-any.whl -
Subject digest:
17c6ae0117d39ccdb815cc0e5d545a8b7caad8347d85661f0976692b5201c7db - Sigstore transparency entry: 1900514510
- Sigstore integration time:
-
Permalink:
MertCapkin/GraphCraft@2a37c0a013e79450f2844f94c3c00dbd590880ae -
Branch / Tag:
refs/tags/v2.4.0 - Owner: https://github.com/MertCapkin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2a37c0a013e79450f2844f94c3c00dbd590880ae -
Trigger Event:
release
-
Statement type: