Glyph can push a clean public projection to GitHub through an export-only remote.
glyph remote add origin github:OWNER/REPO --mode export-only --json
glyph remote sync origin --json
For this repository, GitHub is an export-only mirror: Illusion47586/glyph
glyph remote add origin github:Illusion47586/glyph --mode export-only --json
The sync process:
  1. materializes the public realm
  2. initializes a clean Git repository
  3. generates compatibility files from glyph.yaml
  4. preserves the previous remote main commit as parent when present
  5. pushes to GitHub
The .glyph/ directory itself is never pushed. This is where Git is strongest: broad hosting, Actions, releases, and familiar checkout behavior. Glyph keeps using that strength while avoiding Git’s weaker fit for agent scratch work, permissioned source views, and explicit publication.

Manual Git Export

Use glyph export git when you want a local Git repository without pushing it.
glyph export git \
  --realm public \
  --out .glyph/exports/origin \
  --gitignore generated \
  --gitinclude generated \
  --json
Flags:
FlagMeaning
--realmRealm to export. Defaults to public.
--outOutput directory. Required.
--gitignoreControls .gitignore generation: none, generated, or overwrite.
--gitincludeControls .gitinclude generation: none, generated, or overwrite.
If the flags are omitted, Glyph reads defaults from glyph.yaml.

Remote Management

glyph remote list --json
glyph remote inspect origin --json
glyph remote sync origin --json
Remote specs can use the GitHub shorthand:
github:OWNER/REPO
Glyph translates that to the SSH URL git@github.com:OWNER/REPO.git during sync.

Compatibility Files

Glyph can generate .gitignore and .gitinclude from the project policy in glyph.yaml. The default for this project is:
defaults:
  export:
    git:
      gitignore: generated
      gitinclude: generated
Use generated to create a file only when it does not already exist, overwrite to replace it, and none to skip generation.