Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
dc85a1f
refactor: leave OAuth auth UI to Studio
artiphishle Jul 12, 2026
22c38ed
feat: add canonical OAuth manifest fixtures
artiphishle Jul 12, 2026
b7d99f7
feat: export OAuth fixture API
artiphishle Jul 12, 2026
064d9a7
test: cover canonical OAuth fixtures
artiphishle Jul 12, 2026
af1d8de
test: use canonical OAuth callback route
artiphishle Jul 12, 2026
f7f7502
chore: consume Contracts 3
artiphishle Jul 12, 2026
df27b77
chore: add OAuth fixtures changeset
artiphishle Jul 12, 2026
fe93cff
chore: refresh Phase 3 lockfile
artiphishle Jul 12, 2026
2f0a1de
chore: refresh lockfile
github-actions[bot] Jul 12, 2026
337d93c
chore: remove lockfile refresh workflow
artiphishle Jul 12, 2026
3d088b7
fix: materialize mutable OAuth provider arrays
artiphishle Jul 12, 2026
7d109b1
chore: apply repository formatting
artiphishle Jul 12, 2026
77d2242
chore: continue after lint auto-fixes
artiphishle Jul 12, 2026
fa89f77
style: format OAuth fixtures
github-actions[bot] Jul 12, 2026
abe3439
chore: capture OAuth fixture lint diagnostics
artiphishle Jul 12, 2026
7fda23a
chore: capture lint diagnostics
github-actions[bot] Jul 12, 2026
5d5c0d0
fix: avoid non-null OAuth fixture assertions
artiphishle Jul 12, 2026
44e11bf
chore: capture lint diagnostics
github-actions[bot] Jul 12, 2026
9524d56
fix: declare OAuth fixture factory before use
artiphishle Jul 12, 2026
47552c4
chore: remove temporary lint workflow
artiphishle Jul 12, 2026
ebec0e4
fix: use typed callback path assertion
artiphishle Jul 12, 2026
1fea41f
chore: capture Phase 3 typecheck diagnostics
artiphishle Jul 12, 2026
c2ff6c6
fix: compare OAuth fixture ids as mutable array
artiphishle Jul 12, 2026
c92a6d5
chore: restore standard CI workflow
artiphishle Jul 12, 2026
82bfbad
docs: regenerate OAuth fixture API
artiphishle Jul 12, 2026
627201f
docs: update OAuth fixture API
github-actions[bot] Jul 12, 2026
106c996
chore: remove temporary docs workflow
artiphishle Jul 12, 2026
2cca652
docs: capture generated OAuth fixture documentation
artiphishle Jul 12, 2026
549d925
docs: commit generated OAuth fixture documentation
artiphishle Jul 12, 2026
7ad80a1
chore: restore read-only CI workflow
artiphishle Jul 12, 2026
53cfac0
chore: remove lint diagnostics
artiphishle Jul 12, 2026
39c2290
docs: explain OAuth fixture redirect setup
artiphishle Jul 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/canonical-oauth-fixtures.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@ankhorage/templates': minor
---

Add canonical Google, Apple, and combined OAuth manifest fixtures, and remove template-owned OAuth provider screen generation so Studio remains the single auth UI/runtime owner.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# TEMPLATES

![license: MIT](././docs/badges/license.svg) ![npm: v2.0.0](././docs/badges/npm.svg) ![runtime: bun](././docs/badges/runtime.svg) ![typescript: strict](././docs/badges/typescript.svg) ![eslint: checked](././docs/badges/eslint.svg) ![prettier: checked](././docs/badges/prettier.svg) ![build: checked](././docs/badges/build.svg) ![tests: checked](././docs/badges/tests.svg) ![docs: paradox](././docs/badges/docs.svg)
![license: MIT](././docs/badges/license.svg) ![npm: v2.1.0](././docs/badges/npm.svg) ![runtime: bun](././docs/badges/runtime.svg) ![typescript: strict](././docs/badges/typescript.svg) ![eslint: checked](././docs/badges/eslint.svg) ![prettier: checked](././docs/badges/prettier.svg) ![build: checked](././docs/badges/build.svg) ![tests: checked](././docs/badges/tests.svg) ![docs: paradox](././docs/badges/docs.svg)

Reusable Ankhorage app templates, presets, and manifest generators.

Expand All @@ -22,6 +22,8 @@ bunx @ankhorage/templates
- [Module relationships](././docs/diagrams/module-relationships.mmd)
- [Export graph](././docs/diagrams/export-graph.mmd)
- [ankhorage-templates sequence](././docs/diagrams/sequences/ankhorage-templates.mmd)
- [createCategoryAppManifest sequence](././docs/diagrams/sequences/create-category-app-manifest.mmd)
- [createOAuthFixtureManifest sequence](././docs/diagrams/sequences/create-oauth-fixture-manifest.mmd)
- [createStarterTemplate sequence](././docs/diagrams/sequences/create-starter-template.mmd)
- [listStarterTemplatesByCategory sequence](././docs/diagrams/sequences/list-starter-templates-by-category.mmd)
- [resolveStarterTemplate sequence](././docs/diagrams/sequences/resolve-starter-template.mmd)
4 changes: 2 additions & 2 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions docs/badges/npm.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 6 additions & 2 deletions docs/diagrams/architecture-overview.mmd
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,17 @@ graph TD
module_src_commands_ts --> module_src_projectSeed_ts
module_src_commands_ts --> module_src_templates_starter_index_ts
module_src_commands_ts --> module_src_templateSelector_ts
module_src_fixtures_oauth_ts["src/fixtures/oauth.ts"]
package__ankhorage_templates -.-> module_src_fixtures_oauth_ts
module_src_fixtures_oauth_ts --> module_src_generators_create_category_app_ts
module_src_fixtures_oauth_ts --> module_src_internal_merge_ts
module_src_fixtures_oauth_ts --> module_src_internal_overrides_ts
module_src_fixtures_oauth_ts --> module_src_templates_starter_index_ts
module_src_generators_create_category_app_ts["src/generators/create-category-app.ts"]
package__ankhorage_templates -.-> module_src_generators_create_category_app_ts
module_src_generators_create_category_app_ts --> module_src_internal_merge_ts
module_src_generators_create_category_app_ts --> module_src_internal_overrides_ts
module_src_generators_create_category_app_ts --> module_src_presets_category_presets_ts
module_src_generators_create_category_app_ts --> module_src_templates_shared_screen_ts
module_src_generators_create_category_app_ts --> module_src_templates_shared_zora_node_helpers_ts
module_src_generators_create_category_app_ts --> module_src_templates_starter_index_ts
module_src_index_ts["src/index.ts"]
module_src_internal_defaults_ts["src/internal/defaults.ts"]
Expand Down
20 changes: 20 additions & 0 deletions docs/diagrams/export-graph.mmd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ graph LR
module_src_cli_standalone_ts["src/cli/standalone.ts"]
module_src_commandContext_ts["src/commandContext.ts"]
module_src_commands_ts["src/commands.ts"]
module_src_fixtures_oauth_ts["src/fixtures/oauth.ts"]
module_src_generators_create_category_app_ts["src/generators/create-category-app.ts"]
module_src_index_ts["src/index.ts"]
module_src_internal_defaults_ts["src/internal/defaults.ts"]
Expand Down Expand Up @@ -188,10 +189,18 @@ graph LR
export_createCategoryAppManifest["createCategoryAppManifest"]
module_src_generators_create_category_app_ts --> export_createCategoryAppManifest
export_createCategoryAppManifest -.-> export_SplashScreenResizeMode
export_createOAuthFixtureManifest["createOAuthFixtureManifest"]
module_src_fixtures_oauth_ts --> export_createOAuthFixtureManifest
export_createOAuthFixtureManifest -.-> export_AppCategory
export_createOAuthFixtureManifest -.-> export_OAuthFixtureId
export_createOAuthFixtureManifest -.-> export_TemplateKind
export_createStarterTemplate["createStarterTemplate"]
module_src_templates_starter_starter_template_ts --> export_createStarterTemplate
export_createStarterTemplate -.-> export_StarterTemplateOptions
export_createStarterTemplate -.-> export_TemplateSeed
export_listOAuthFixtures["listOAuthFixtures"]
module_src_fixtures_oauth_ts --> export_listOAuthFixtures
export_listOAuthFixtures -.-> export_OAuthFixtureDefinition
export_listStarterTemplates["listStarterTemplates"]
module_src_templates_starter_starter_registry_ts --> export_listStarterTemplates
export_listStarterTemplates -.-> export_CategoryStarterTemplateDefinition
Expand All @@ -201,6 +210,17 @@ graph LR
export_listStarterTemplateSummaries["listStarterTemplateSummaries"]
module_src_templates_starter_starter_registry_ts --> export_listStarterTemplateSummaries
export_listStarterTemplateSummaries -.-> export_StarterTemplateSummary
export_OAUTH_CALLBACK_ROUTE["OAUTH_CALLBACK_ROUTE"]
module_src_fixtures_oauth_ts --> export_OAUTH_CALLBACK_ROUTE
export_OAUTH_FIXTURE_IDS["OAUTH_FIXTURE_IDS"]
module_src_fixtures_oauth_ts --> export_OAUTH_FIXTURE_IDS
export_OAuthFixtureDefinition["OAuthFixtureDefinition"]
module_src_fixtures_oauth_ts --> export_OAuthFixtureDefinition
export_OAuthFixtureId["OAuthFixtureId"]
module_src_fixtures_oauth_ts --> export_OAuthFixtureId
export_resolveOAuthFixture["resolveOAuthFixture"]
module_src_fixtures_oauth_ts --> export_resolveOAuthFixture
export_resolveOAuthFixture -.-> export_OAuthFixtureDefinition
export_resolveStarterTemplate["resolveStarterTemplate"]
module_src_templates_starter_starter_registry_ts --> export_resolveStarterTemplate
export_resolveStarterTemplate -.-> export_CategoryStarterTemplateDefinition
Expand Down
7 changes: 5 additions & 2 deletions docs/diagrams/module-relationships.mmd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ graph LR
module_src_cli_standalone_ts["src/cli/standalone.ts"]
module_src_commandContext_ts["src/commandContext.ts"]
module_src_commands_ts["src/commands.ts"]
module_src_fixtures_oauth_ts["src/fixtures/oauth.ts"]
module_src_generators_create_category_app_ts["src/generators/create-category-app.ts"]
module_src_index_ts["src/index.ts"]
module_src_internal_defaults_ts["src/internal/defaults.ts"]
Expand Down Expand Up @@ -190,11 +191,13 @@ graph LR
module_src_commands_ts --> module_src_projectSeed_ts
module_src_commands_ts --> module_src_templates_starter_index_ts
module_src_commands_ts --> module_src_templateSelector_ts
module_src_fixtures_oauth_ts --> module_src_generators_create_category_app_ts
module_src_fixtures_oauth_ts --> module_src_internal_merge_ts
module_src_fixtures_oauth_ts --> module_src_internal_overrides_ts
module_src_fixtures_oauth_ts --> module_src_templates_starter_index_ts
module_src_generators_create_category_app_ts --> module_src_internal_merge_ts
module_src_generators_create_category_app_ts --> module_src_internal_overrides_ts
module_src_generators_create_category_app_ts --> module_src_presets_category_presets_ts
module_src_generators_create_category_app_ts --> module_src_templates_shared_screen_ts
module_src_generators_create_category_app_ts --> module_src_templates_shared_zora_node_helpers_ts
module_src_generators_create_category_app_ts --> module_src_templates_starter_index_ts
module_src_internal_merge_ts --> module_src_internal_overrides_ts
module_src_packageMetadata_ts --> module_package_json
Expand Down
19 changes: 19 additions & 0 deletions docs/diagrams/sequences/create-category-app-manifest.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
sequenceDiagram
participant participant___type as __type
participant participant_createCategoryAppManifest as createCategoryAppManifest
participant participant_createManifestFromTemplate as createManifestFromTemplate
participant participant_isPlainObject as isPlainObject
participant participant_mergeAppManifest as mergeAppManifest
participant participant_mergeValue as mergeValue
participant_createCategoryAppManifest->>participant_createManifestFromTemplate: createManifestFromTemplate()
participant_createManifestFromTemplate->>participant___type: TEMPLATE_FACTORIES[template]()
participant___type-->>participant_createManifestFromTemplate: return
participant_createManifestFromTemplate-->>participant_createCategoryAppManifest: return
participant_createCategoryAppManifest->>participant_mergeAppManifest: mergeAppManifest()
participant_mergeAppManifest->>participant_mergeValue: mergeValue()
participant_mergeValue->>participant_isPlainObject: isPlainObject()
participant_isPlainObject-->>participant_mergeValue: return
participant_mergeValue->>participant_mergeValue: mergeValue()
participant_mergeValue-->>participant_mergeValue: return
participant_mergeValue-->>participant_mergeAppManifest: return
participant_mergeAppManifest-->>participant_createCategoryAppManifest: return
27 changes: 27 additions & 0 deletions docs/diagrams/sequences/create-oauth-fixture-manifest.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
sequenceDiagram
participant participant___type as __type
participant participant_createCategoryAppManifest as createCategoryAppManifest
participant participant_createManifestFromTemplate as createManifestFromTemplate
participant participant_createOAuthFixtureManifest as createOAuthFixtureManifest
participant participant_isPlainObject as isPlainObject
participant participant_mergeAppManifest as mergeAppManifest
participant participant_mergeValue as mergeValue
participant participant_resolveOAuthFixture as resolveOAuthFixture
participant_createOAuthFixtureManifest->>participant_createCategoryAppManifest: createCategoryAppManifest()
participant_createCategoryAppManifest->>participant_createManifestFromTemplate: createManifestFromTemplate()
participant_createManifestFromTemplate->>participant___type: TEMPLATE_FACTORIES[template]()
participant___type-->>participant_createManifestFromTemplate: return
participant_createManifestFromTemplate-->>participant_createCategoryAppManifest: return
participant_createCategoryAppManifest->>participant_mergeAppManifest: mergeAppManifest()
participant_mergeAppManifest->>participant_mergeValue: mergeValue()
participant_mergeValue->>participant_isPlainObject: isPlainObject()
participant_isPlainObject-->>participant_mergeValue: return
participant_mergeValue->>participant_mergeValue: mergeValue()
participant_mergeValue-->>participant_mergeValue: return
participant_mergeValue-->>participant_mergeAppManifest: return
participant_mergeAppManifest-->>participant_createCategoryAppManifest: return
participant_createCategoryAppManifest-->>participant_createOAuthFixtureManifest: return
participant_createOAuthFixtureManifest->>participant_resolveOAuthFixture: resolveOAuthFixture()
participant_resolveOAuthFixture-->>participant_createOAuthFixtureManifest: return
participant_createOAuthFixtureManifest->>participant_mergeAppManifest: mergeAppManifest()
participant_mergeAppManifest-->>participant_createOAuthFixtureManifest: return
Loading
Loading