Skip to content

Trigger Website rebuilds for Docs changes - #11

Merged
batuhan merged 3 commits into
mainfrom
batuhan/docs-in-website
Aug 4, 2026
Merged

Trigger Website rebuilds for Docs changes#11
batuhan merged 3 commits into
mainfrom
batuhan/docs-in-website

Conversation

@batuhan

@batuhan batuhan commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

What changed

  • dispatch a docs-updated event with the exact Docs commit after main CI passes
  • configure Blume for the canonical https://spacefast.com/docs deployment
  • remove the static mounts guide and generated mount error references
  • update the Docs corpus, routing verifier, headers, redirects, CLI references, and generated API material for the new canonical URL
  • document that the monorepo Website workflow is the sole production publisher

Why

Docs are now built into the Website's static artifact instead of being served from a second Space. A Docs merge requests a Website rebuild; the Website workflow pins the exact Docs SHA and publishes the combined version atomically.

Depends on spacefast/monorepo#1629. Merge that PR first so the dispatch receiver and combined publisher exist before this workflow starts sending events.

Operational prerequisite

Configure RELEASE_APP_ID and RELEASE_APP_PRIVATE_KEY in this repository for a GitHub App installed on spacefast/monorepo with repository dispatch permission.

Validation

  • bun run check — 1,240 pages and zero type errors
  • production build — 1,242 pages with search output
  • bun run verify:routes — all 60 IA routes and 1,242 HTML pages verified
  • bun run verify:generated — 508 generated artifacts verified
  • public artifact safety check — 1,108 text files and three symlinks verified
  • Docs corpus tests — three passed

The optional broad audit still reports its existing missing-asset and broken-link backlog; the strict build, route, and generated-artifact gates pass.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

Summary by CodeRabbit

  • Documentation

    • Documentation is now published at https://spacefast.com/docs.
    • Updated setup guidance promotes the new https://spacefast.com/setup.md prompt, with fallback instructions and links to agent integrations.
    • Updated API and discovery links to the new documentation address.
    • Removed documentation for mounting another space.
  • Deployment

    • Website publishing is now automated through the documentation build and production deployment process.
    • Improved site validation and routing for documentation assets, including broader access support for published files.
@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 93726f54-7373-4f3d-8847-c6831e820b82

📥 Commits

Reviewing files that changed from the base of the PR and between e24a7bd and 972fb09.

⛔ Files ignored due to path filters (492)
  • generated/cli/index.md is excluded by !**/generated/**
  • generated/errors/abuse_report_invalid_transition.md is excluded by !**/generated/**
  • generated/errors/abuse_report_rate_limited.md is excluded by !**/generated/**
  • generated/errors/abuse_takedown.md is excluded by !**/generated/**
  • generated/errors/access_denied.md is excluded by !**/generated/**
  • generated/errors/access_scope_suggestion.md is excluded by !**/generated/**
  • generated/errors/account_suspended.md is excluded by !**/generated/**
  • generated/errors/agent_handoff_declined.md is excluded by !**/generated/**
  • generated/errors/agent_handoff_limit_reached.md is excluded by !**/generated/**
  • generated/errors/agent_handoff_origin_unsupported.md is excluded by !**/generated/**
  • generated/errors/ambiguous_space_slug.md is excluded by !**/generated/**
  • generated/errors/anonymous_expired.md is excluded by !**/generated/**
  • generated/errors/anonymous_pool_unavailable.md is excluded by !**/generated/**
  • generated/errors/anonymous_publish_rate_limited.md is excluded by !**/generated/**
  • generated/errors/anonymous_space_limit_reached.md is excluded by !**/generated/**
  • generated/errors/api_key_scope_underivable.md is excluded by !**/generated/**
  • generated/errors/archive_body_required.md is excluded by !**/generated/**
  • generated/errors/archive_too_large.md is excluded by !**/generated/**
  • generated/errors/auth_code_required.md is excluded by !**/generated/**
  • generated/errors/authorization_pending.md is excluded by !**/generated/**
  • generated/errors/billing_receipt_invalid.md is excluded by !**/generated/**
  • generated/errors/billing_receipt_not_bound_to_team.md is excluded by !**/generated/**
  • generated/errors/billing_store_not_configured.md is excluded by !**/generated/**
  • generated/errors/billing_subscription_conflict.md is excluded by !**/generated/**
  • generated/errors/billing_unknown_product.md is excluded by !**/generated/**
  • generated/errors/build_command_missing.md is excluded by !**/generated/**
  • generated/errors/build_execution_unavailable.md is excluded by !**/generated/**
  • generated/errors/build_failed.md is excluded by !**/generated/**
  • generated/errors/build_install_failed.md is excluded by !**/generated/**
  • generated/errors/build_no_index_html.md is excluded by !**/generated/**
  • generated/errors/build_not_created.md is excluded by !**/generated/**
  • generated/errors/build_oom.md is excluded by !**/generated/**
  • generated/errors/build_output_dir_missing.md is excluded by !**/generated/**
  • generated/errors/build_timeout.md is excluded by !**/generated/**
  • generated/errors/cache_purge_domain_required.md is excluded by !**/generated/**
  • generated/errors/cache_purge_path_required.md is excluded by !**/generated/**
  • generated/errors/channel_name_reserved.md is excluded by !**/generated/**
  • generated/errors/channel_pointer_moved.md is excluded by !**/generated/**
  • generated/errors/channel_unsupported.md is excluded by !**/generated/**
  • generated/errors/claim_blocked_takedown.md is excluded by !**/generated/**
  • generated/errors/claim_target_not_found.md is excluded by !**/generated/**
  • generated/errors/claimed_space_quota_exceeded.md is excluded by !**/generated/**
  • generated/errors/cli_upgrade_required.md is excluded by !**/generated/**
  • generated/errors/comment_screenshot_rate_limited.md is excluded by !**/generated/**
  • generated/errors/config_file_too_large.md is excluded by !**/generated/**
  • generated/errors/config_functions_key_removed.md is excluded by !**/generated/**
  • generated/errors/config_invalid.md is excluded by !**/generated/**
  • generated/errors/config_meta_too_long.md is excluded by !**/generated/**
  • generated/errors/config_name_too_long.md is excluded by !**/generated/**
  • generated/errors/config_runtime_entry_missing.md is excluded by !**/generated/**
  • generated/errors/config_runtime_invalid_kind.md is excluded by !**/generated/**
  • generated/errors/config_templates_over_limit.md is excluded by !**/generated/**
  • generated/errors/continuation_unavailable.md is excluded by !**/generated/**
  • generated/errors/continuation_used.md is excluded by !**/generated/**
  • generated/errors/credential_expired.md is excluded by !**/generated/**
  • generated/errors/credential_not_yet_valid.md is excluded by !**/generated/**
  • generated/errors/credential_retired.md is excluded by !**/generated/**
  • generated/errors/credential_revoked.md is excluded by !**/generated/**
  • generated/errors/csam_blocked.md is excluded by !**/generated/**
  • generated/errors/csam_policy_floor.md is excluded by !**/generated/**
  • generated/errors/custom_certificates_require_dedicated_site.md is excluded by !**/generated/**
  • generated/errors/data_location_immutable.md is excluded by !**/generated/**
  • generated/errors/db_not_available.md is excluded by !**/generated/**
  • generated/errors/device_authorization_failed.md is excluded by !**/generated/**
  • generated/errors/device_verification_rate_limited.md is excluded by !**/generated/**
  • generated/errors/dns_export_required.md is excluded by !**/generated/**
  • generated/errors/dns_field_conflict.md is excluded by !**/generated/**
  • generated/errors/dns_field_not_applicable.md is excluded by !**/generated/**
  • generated/errors/dns_import_partial_visibility.md is excluded by !**/generated/**
  • generated/errors/dns_provider_auth_expired.md is excluded by !**/generated/**
  • generated/errors/dns_provider_batch_unsupported.md is excluded by !**/generated/**
  • generated/errors/dns_provider_change_pending.md is excluded by !**/generated/**
  • generated/errors/dns_provider_conflict.md is excluded by !**/generated/**
  • generated/errors/dns_provider_connection_in_use.md is excluded by !**/generated/**
  • generated/errors/dns_provider_connection_unavailable.md is excluded by !**/generated/**
  • generated/errors/dns_provider_controlled_desired_state.md is excluded by !**/generated/**
  • generated/errors/dns_provider_credentials_expired.md is excluded by !**/generated/**
  • generated/errors/dns_provider_feature_descriptors.md is excluded by !**/generated/**
  • generated/errors/dns_provider_feature_unavailable.md is excluded by !**/generated/**
  • generated/errors/dns_provider_field_unsupported.md is excluded by !**/generated/**
  • generated/errors/dns_provider_future_authoritative_backend.md is excluded by !**/generated/**
  • generated/errors/dns_provider_missing_permission.md is excluded by !**/generated/**
  • generated/errors/dns_provider_not_connected.md is excluded by !**/generated/**
  • generated/errors/dns_provider_operation_failed.md is excluded by !**/generated/**
  • generated/errors/dns_provider_permission_denied.md is excluded by !**/generated/**
  • generated/errors/dns_provider_rate_limited.md is excluded by !**/generated/**
  • generated/errors/dns_provider_replace_all_requires_fresh_plan.md is excluded by !**/generated/**
  • generated/errors/dns_provider_replace_all_write_strategy.md is excluded by !**/generated/**
  • generated/errors/dns_provider_snapshot_stale.md is excluded by !**/generated/**
  • generated/errors/dns_provider_snapshot_unavailable.md is excluded by !**/generated/**
  • generated/errors/dns_provider_temporarily_unavailable.md is excluded by !**/generated/**
  • generated/errors/dns_provider_timeout.md is excluded by !**/generated/**
  • generated/errors/dns_provider_validation_failed.md is excluded by !**/generated/**
  • generated/errors/dns_provider_workflow_templates.md is excluded by !**/generated/**
  • generated/errors/dns_provider_zone_not_found.md is excluded by !**/generated/**
  • generated/errors/dns_record_conflicts_with_managed.md is excluded by !**/generated/**
  • generated/errors/dns_record_managed.md is excluded by !**/generated/**
  • generated/errors/dns_record_not_found.md is excluded by !**/generated/**
  • generated/errors/domain_already_exists.md is excluded by !**/generated/**
  • generated/errors/domain_bound.md is excluded by !**/generated/**
  • generated/errors/domain_facet_already_managed.md is excluded by !**/generated/**
  • generated/errors/domain_facet_external.md is excluded by !**/generated/**
  • generated/errors/domain_facet_not_applicable.md is excluded by !**/generated/**
  • generated/errors/domain_hostname_site_mismatch.md is excluded by !**/generated/**
  • generated/errors/domain_in_use.md is excluded by !**/generated/**
  • generated/errors/domain_lookup_rate_limited.md is excluded by !**/generated/**
  • generated/errors/domain_not_bound.md is excluded by !**/generated/**
  • generated/errors/domain_quota_exceeded.md is excluded by !**/generated/**
  • generated/errors/domain_registration_active.md is excluded by !**/generated/**
  • generated/errors/domain_registration_not_renewable.md is excluded by !**/generated/**
  • generated/errors/domain_reserved_suffix.md is excluded by !**/generated/**
  • generated/errors/domain_transfer_active.md is excluded by !**/generated/**
  • generated/errors/domain_wildcard_label.md is excluded by !**/generated/**
  • generated/errors/domain_wildcard_not_enabled.md is excluded by !**/generated/**
  • generated/errors/download_required.md is excluded by !**/generated/**
  • generated/errors/duplicate_version_path.md is excluded by !**/generated/**
  • generated/errors/enforcement_policy_overlap.md is excluded by !**/generated/**
  • generated/errors/event_payload_too_large.md is excluded by !**/generated/**
  • generated/errors/event_rate_limited.md is excluded by !**/generated/**
  • generated/errors/expired_token.md is excluded by !**/generated/**
  • generated/errors/export_archive_not_ready.md is excluded by !**/generated/**
  • generated/errors/export_version_not_found.md is excluded by !**/generated/**
  • generated/errors/feature_unavailable.md is excluded by !**/generated/**
  • generated/errors/files_mode_does_not_support_spa.md is excluded by !**/generated/**
  • generated/errors/forbidden.md is excluded by !**/generated/**
  • generated/errors/free_external_proxy_disabled.md is excluded by !**/generated/**
  • generated/errors/google_play_webhook_identity_not_configured.md is excluded by !**/generated/**
  • generated/errors/idempotency_conflict_in_progress.md is excluded by !**/generated/**
  • generated/errors/idempotency_key_reused.md is excluded by !**/generated/**
  • generated/errors/import_archive_not_uploaded.md is excluded by !**/generated/**
  • generated/errors/import_not_cancelable.md is excluded by !**/generated/**
  • generated/errors/import_not_waiting_for_archive.md is excluded by !**/generated/**
  • generated/errors/incumbent_controls_dns.md is excluded by !**/generated/**
  • generated/errors/index.md is excluded by !**/generated/**
  • generated/errors/inject_invalid.md is excluded by !**/generated/**
  • generated/errors/inject_snippet_too_large.md is excluded by !**/generated/**
  • generated/errors/internal_error.md is excluded by !**/generated/**
  • generated/errors/invalid_claim_token.md is excluded by !**/generated/**
  • generated/errors/invalid_continuation_token.md is excluded by !**/generated/**
  • generated/errors/invalid_data_location.md is excluded by !**/generated/**
  • generated/errors/invalid_device_code.md is excluded by !**/generated/**
  • generated/errors/invalid_domain.md is excluded by !**/generated/**
  • generated/errors/invalid_domain_name.md is excluded by !**/generated/**
  • generated/errors/invalid_file_path.md is excluded by !**/generated/**
  • generated/errors/invalid_google_play_webhook_identity.md is excluded by !**/generated/**
  • generated/errors/invalid_grant.md is excluded by !**/generated/**
  • generated/errors/invalid_idempotency_key.md is excluded by !**/generated/**
  • generated/errors/invalid_publish_archive.md is excluded by !**/generated/**
  • generated/errors/invalid_publish_path.md is excluded by !**/generated/**
  • generated/errors/invalid_publish_payload.md is excluded by !**/generated/**
  • generated/errors/invalid_request.md is excluded by !**/generated/**
  • generated/errors/invalid_runtime_event.md is excluded by !**/generated/**
  • generated/errors/invalid_space.md is excluded by !**/generated/**
  • generated/errors/invalid_space_mode.md is excluded by !**/generated/**
  • generated/errors/invalid_user_code.md is excluded by !**/generated/**
  • generated/errors/invalid_version_path.md is excluded by !**/generated/**
  • generated/errors/invalid_webhook_events.md is excluded by !**/generated/**
  • generated/errors/invalid_webhook_payload.md is excluded by !**/generated/**
  • generated/errors/invalid_webhook_signature.md is excluded by !**/generated/**
  • generated/errors/invalid_webhook_url.md is excluded by !**/generated/**
  • generated/errors/invalid_zero_realtime_event.md is excluded by !**/generated/**
  • generated/errors/invalid_zero_realtime_replay_query.md is excluded by !**/generated/**
  • generated/errors/invitation_already_exists.md is excluded by !**/generated/**
  • generated/errors/invitation_email_mismatch.md is excluded by !**/generated/**
  • generated/errors/invitation_expired.md is excluded by !**/generated/**
  • generated/errors/invitation_not_pending.md is excluded by !**/generated/**
  • generated/errors/ip_blocked.md is excluded by !**/generated/**
  • generated/errors/job_not_found.md is excluded by !**/generated/**
  • generated/errors/job_not_promotable.md is excluded by !**/generated/**
  • generated/errors/job_not_removable.md is excluded by !**/generated/**
  • generated/errors/job_not_retryable.md is excluded by !**/generated/**
  • generated/errors/last_owner.md is excluded by !**/generated/**
  • generated/errors/log_retention_clamped.md is excluded by !**/generated/**
  • generated/errors/lost_domain_control.md is excluded by !**/generated/**
  • generated/errors/maintenance_in_progress.md is excluded by !**/generated/**
  • generated/errors/malware_detected.md is excluded by !**/generated/**
  • generated/errors/managed_domain_protected.md is excluded by !**/generated/**
  • generated/errors/manifest_body_too_large.md is excluded by !**/generated/**
  • generated/errors/manifest_duplicate_path.md is excluded by !**/generated/**
  • generated/errors/manifest_too_many_files.md is excluded by !**/generated/**
  • generated/errors/mcp_acted_for_team_deleted.md is excluded by !**/generated/**
  • generated/errors/member_already_exists.md is excluded by !**/generated/**
  • generated/errors/method_not_allowed.md is excluded by !**/generated/**
  • generated/errors/missing_route_param.md is excluded by !**/generated/**
  • generated/errors/move_target_capacity_lost.md is excluded by !**/generated/**
  • generated/errors/name_managed_by_config.md is excluded by !**/generated/**
  • generated/errors/nameserver_delegation_required.md is excluded by !**/generated/**
  • generated/errors/nameserver_divergence.md is excluded by !**/generated/**
  • generated/errors/noop_publish.md is excluded by !**/generated/**
  • generated/errors/not_enrolled.md is excluded by !**/generated/**
  • generated/errors/not_found.md is excluded by !**/generated/**
  • generated/errors/path_case_collision.md is excluded by !**/generated/**
  • generated/errors/path_too_long.md is excluded by !**/generated/**
  • generated/errors/placement_invalid_burstable.md is excluded by !**/generated/**
  • generated/errors/placement_mode_requires_plan.md is excluded by !**/generated/**
  • generated/errors/plan_grant_already_active.md is excluded by !**/generated/**
  • generated/errors/plan_grant_already_revoked.md is excluded by !**/generated/**
  • generated/errors/platform_tenant_immutable_client.md is excluded by !**/generated/**
  • generated/errors/policy_exceeds_grantor.md is excluded by !**/generated/**
  • generated/errors/principal_space_mismatch.md is excluded by !**/generated/**
  • generated/errors/provider_error.md is excluded by !**/generated/**
  • generated/errors/provider_job_failed.md is excluded by !**/generated/**
  • generated/errors/provider_job_timeout.md is excluded by !**/generated/**
  • generated/errors/provider_runtime_feature_unsupported.md is excluded by !**/generated/**
  • generated/errors/provider_site_id_required.md is excluded by !**/generated/**
  • generated/errors/proxy_upstream_denied.md is excluded by !**/generated/**
  • generated/errors/proxy_upstream_unresolved.md is excluded by !**/generated/**
  • generated/errors/publish_archive_compression_ratio_exceeded.md is excluded by !**/generated/**
  • generated/errors/publish_archive_expanded_size_exceeded.md is excluded by !**/generated/**
  • generated/errors/publish_archive_file_count_exceeded.md is excluded by !**/generated/**
  • generated/errors/publish_archive_too_large.md is excluded by !**/generated/**
  • generated/errors/publish_base_changed.md is excluded by !**/generated/**
  • generated/errors/publish_bytes_missing.md is excluded by !**/generated/**
  • generated/errors/publish_config_unsupported.md is excluded by !**/generated/**
  • generated/errors/publish_failed.md is excluded by !**/generated/**
  • generated/errors/publish_file_missing.md is excluded by !**/generated/**
  • generated/errors/publish_hash_mismatch.md is excluded by !**/generated/**
  • generated/errors/publish_inline_limit_exceeded.md is excluded by !**/generated/**
  • generated/errors/publish_not_cancelable.md is excluded by !**/generated/**
  • generated/errors/publish_path_collision.md is excluded by !**/generated/**
  • generated/errors/publish_path_invalid.md is excluded by !**/generated/**
  • generated/errors/publish_reference_missing.md is excluded by !**/generated/**
  • generated/errors/publish_setup_failed.md is excluded by !**/generated/**
  • generated/errors/publish_snapshot_empty.md is excluded by !**/generated/**
  • generated/errors/publish_upload_failed.md is excluded by !**/generated/**
  • generated/errors/publish_verification_failed.md is excluded by !**/generated/**
  • generated/errors/queue_not_found.md is excluded by !**/generated/**
  • generated/errors/rate_limited.md is excluded by !**/generated/**
  • generated/errors/registration_expired.md is excluded by !**/generated/**
  • generated/errors/registration_expiring.md is excluded by !**/generated/**
  • generated/errors/resource_revision_changed.md is excluded by !**/generated/**
  • generated/errors/routing_rules_over_plan.md is excluded by !**/generated/**
  • generated/errors/runtime_action_forbidden.md is excluded by !**/generated/**
  • generated/errors/runtime_api_not_found.md is excluded by !**/generated/**
  • generated/errors/runtime_callback_forbidden.md is excluded by !**/generated/**
  • generated/errors/runtime_dev_unsupported.md is excluded by !**/generated/**
  • generated/errors/runtime_engine_zip_missing.md is excluded by !**/generated/**
  • generated/errors/runtime_hostname_unassigned.md is excluded by !**/generated/**
  • generated/errors/runtime_instance_mismatch.md is excluded by !**/generated/**
  • generated/errors/runtime_jti_missing.md is excluded by !**/generated/**
  • generated/errors/runtime_jti_replayed.md is excluded by !**/generated/**
  • generated/errors/runtime_jwks_key_missing.md is excluded by !**/generated/**
  • generated/errors/runtime_kind_mismatch.md is excluded by !**/generated/**
  • generated/errors/runtime_management_unavailable.md is excluded by !**/generated/**
  • generated/errors/runtime_not_provisioned.md is excluded by !**/generated/**
  • generated/errors/runtime_operation_missing.md is excluded by !**/generated/**
  • generated/errors/runtime_scope_forbidden.md is excluded by !**/generated/**
  • generated/errors/runtime_token_bad_signature.md is excluded by !**/generated/**
  • generated/errors/runtime_token_expired.md is excluded by !**/generated/**
  • generated/errors/runtime_token_invalid.md is excluded by !**/generated/**
  • generated/errors/runtime_unauthorized.md is excluded by !**/generated/**
  • generated/errors/runtime_upload_operation_not_supported.md is excluded by !**/generated/**
  • generated/errors/runtime_upload_required.md is excluded by !**/generated/**
  • generated/errors/scan_pending.md is excluded by !**/generated/**
  • generated/errors/secret_variable_in_template.md is excluded by !**/generated/**
  • generated/errors/service_signature_invalid.md is excluded by !**/generated/**
  • generated/errors/site_already_deleted.md is excluded by !**/generated/**
  • generated/errors/site_has_live_spaces.md is excluded by !**/generated/**
  • generated/errors/site_not_static.md is excluded by !**/generated/**
  • generated/errors/site_required.md is excluded by !**/generated/**
  • generated/errors/site_suspended.md is excluded by !**/generated/**
  • generated/errors/slow_down.md is excluded by !**/generated/**
  • generated/errors/slug_invalid.md is excluded by !**/generated/**
  • generated/errors/slug_reserved.md is excluded by !**/generated/**
  • generated/errors/slug_unavailable.md is excluded by !**/generated/**
  • generated/errors/source_archive_decompression_timeout.md is excluded by !**/generated/**
  • generated/errors/source_archive_expansion_ratio_exceeded.md is excluded by !**/generated/**
  • generated/errors/source_archive_validation_busy.md is excluded by !**/generated/**
  • generated/errors/space_already_claimed.md is excluded by !**/generated/**
  • generated/errors/space_capacity_warming.md is excluded by !**/generated/**
  • generated/errors/space_claim_unavailable.md is excluded by !**/generated/**
  • generated/errors/space_claimed_credential_available.md is excluded by !**/generated/**
  • generated/errors/space_disabled.md is excluded by !**/generated/**
  • generated/errors/space_expired.md is excluded by !**/generated/**
  • generated/errors/space_has_active_publish.md is excluded by !**/generated/**
  • generated/errors/space_has_active_version.md is excluded by !**/generated/**
  • generated/errors/space_hostname_identity_missing.md is excluded by !**/generated/**
  • generated/errors/space_import_archive_invalid.md is excluded by !**/generated/**
  • generated/errors/space_import_archive_too_large.md is excluded by !**/generated/**
  • generated/errors/space_import_config_only_archive.md is excluded by !**/generated/**
  • generated/errors/space_import_runtime_schema_unsupported.md is excluded by !**/generated/**
  • generated/errors/space_move_would_strand_zero_data.md is excluded by !**/generated/**
  • generated/errors/space_moving.md is excluded by !**/generated/**
  • generated/errors/space_no_live_version.md is excluded by !**/generated/**
  • generated/errors/space_not_disabled.md is excluded by !**/generated/**
  • generated/errors/space_not_restorable.md is excluded by !**/generated/**
  • generated/errors/space_person_already_member.md is excluded by !**/generated/**
  • generated/errors/space_person_invitation_pending.md is excluded by !**/generated/**
  • generated/errors/space_person_self_invite.md is excluded by !**/generated/**
  • generated/errors/space_ref_ambiguous.md is excluded by !**/generated/**
  • generated/errors/space_ref_required.md is excluded by !**/generated/**
  • generated/errors/space_transferring.md is excluded by !**/generated/**
  • generated/errors/space_unclaimed.md is excluded by !**/generated/**
  • generated/errors/ssl_renewal_blocked.md is excluded by !**/generated/**
  • generated/errors/static_control_file_not_supported.md is excluded by !**/generated/**
  • generated/errors/static_mount_path_conflict.md is excluded by !**/generated/**
  • generated/errors/static_mount_source_not_ready.md is excluded by !**/generated/**
  • generated/errors/static_mount_target_forbidden.md is excluded by !**/generated/**
  • generated/errors/static_mount_target_in_use.md is excluded by !**/generated/**
  • generated/errors/static_mount_target_not_live.md is excluded by !**/generated/**
  • generated/errors/static_mount_target_not_ready.md is excluded by !**/generated/**
  • generated/errors/static_mount_target_not_static.md is excluded by !**/generated/**
  • generated/errors/static_runtime_control_path_not_supported.md is excluded by !**/generated/**
  • generated/errors/static_runtime_required.md is excluded by !**/generated/**
  • generated/errors/storage_auth_required.md is excluded by !**/generated/**
  • generated/errors/storage_bucket_unavailable.md is excluded by !**/generated/**
  • generated/errors/storage_content_blocked.md is excluded by !**/generated/**
  • generated/errors/storage_delete_forbidden.md is excluded by !**/generated/**
  • generated/errors/storage_empty_file.md is excluded by !**/generated/**
  • generated/errors/storage_file_too_large.md is excluded by !**/generated/**
  • generated/errors/storage_key_invalid.md is excluded by !**/generated/**
  • generated/errors/storage_object_not_found.md is excluded by !**/generated/**
  • generated/errors/storage_quota_already_unlimited.md is excluded by !**/generated/**
  • generated/errors/storage_quota_decrease_not_supported.md is excluded by !**/generated/**
  • generated/errors/storage_quota_exceeded.md is excluded by !**/generated/**
  • generated/errors/storage_unavailable.md is excluded by !**/generated/**
  • generated/errors/storage_usage_unavailable.md is excluded by !**/generated/**
  • generated/errors/stripe_error.md is excluded by !**/generated/**
  • generated/errors/superseded_by_publish.md is excluded by !**/generated/**
  • generated/errors/takeover_notice_window.md is excluded by !**/generated/**
  • generated/errors/team_member_quota_exceeded.md is excluded by !**/generated/**
  • generated/errors/team_ref_required.md is excluded by !**/generated/**
  • generated/errors/team_required.md is excluded by !**/generated/**
  • generated/errors/team_slug_conflict.md is excluded by !**/generated/**
  • generated/errors/template_file_too_large.md is excluded by !**/generated/**
  • generated/errors/template_not_in_version.md is excluded by !**/generated/**
  • generated/errors/template_variable_unresolved.md is excluded by !**/generated/**
  • generated/errors/tenant_id_mismatch.md is excluded by !**/generated/**
  • generated/errors/tenant_not_found.md is excluded by !**/generated/**
  • generated/errors/tenant_not_granted.md is excluded by !**/generated/**
  • generated/errors/tenant_past_due.md is excluded by !**/generated/**
  • generated/errors/tenant_selection_required.md is excluded by !**/generated/**
  • generated/errors/tenant_suspended.md is excluded by !**/generated/**
  • generated/errors/theme_value_invalid.md is excluded by !**/generated/**
  • generated/errors/transfer_cross_tenant_unsupported.md is excluded by !**/generated/**
  • generated/errors/transfer_move_failed.md is excluded by !**/generated/**
  • generated/errors/transfer_not_cancelable.md is excluded by !**/generated/**
  • generated/errors/transfer_push_failed.md is excluded by !**/generated/**
  • generated/errors/transfer_source_changed.md is excluded by !**/generated/**
  • generated/errors/transfer_target_same_as_source.md is excluded by !**/generated/**
  • generated/errors/transfer_verify_failed.md is excluded by !**/generated/**
  • generated/errors/unauthorized.md is excluded by !**/generated/**
  • generated/errors/unsupported_publish_media_type.md is excluded by !**/generated/**
  • generated/errors/upload_hash_mismatch.md is excluded by !**/generated/**
  • generated/errors/upload_path_not_canonical.md is excluded by !**/generated/**
  • generated/errors/upload_path_not_declared.md is excluded by !**/generated/**
  • generated/errors/upload_size_mismatch.md is excluded by !**/generated/**
  • generated/errors/user_banned.md is excluded by !**/generated/**
  • generated/errors/validation_error.md is excluded by !**/generated/**
  • generated/errors/variable_cascade_failed.md is excluded by !**/generated/**
  • generated/errors/verification_required.md is excluded by !**/generated/**
  • generated/errors/version_already_live.md is excluded by !**/generated/**
  • generated/errors/version_artifact_not_found.md is excluded by !**/generated/**
  • generated/errors/version_busy.md is excluded by !**/generated/**
  • generated/errors/version_canceled.md is excluded by !**/generated/**
  • generated/errors/version_closed.md is excluded by !**/generated/**
  • generated/errors/version_expired.md is excluded by !**/generated/**
  • generated/errors/version_failed.md is excluded by !**/generated/**
  • generated/errors/version_file_count_exceeded.md is excluded by !**/generated/**
  • generated/errors/version_file_not_found.md is excluded by !**/generated/**
  • generated/errors/version_file_too_large.md is excluded by !**/generated/**
  • generated/errors/version_files_missing.md is excluded by !**/generated/**
  • generated/errors/version_in_use.md is excluded by !**/generated/**
  • generated/errors/version_live.md is excluded by !**/generated/**
  • generated/errors/version_no_publishable_files.md is excluded by !**/generated/**
  • generated/errors/version_not_finalizable.md is excluded by !**/generated/**
  • generated/errors/version_not_found.md is excluded by !**/generated/**
  • generated/errors/version_not_prepared.md is excluded by !**/generated/**
  • generated/errors/version_not_promotable.md is excluded by !**/generated/**
  • generated/errors/version_not_ready.md is excluded by !**/generated/**
  • generated/errors/version_quota_exceeded.md is excluded by !**/generated/**
  • generated/errors/version_total_bytes_exceeded.md is excluded by !**/generated/**
  • generated/errors/webhook_delivery_budget_exceeded.md is excluded by !**/generated/**
  • generated/errors/whois_unavailable.md is excluded by !**/generated/**
  • generated/errors/wp_cloud_anonymous_pool_required.md is excluded by !**/generated/**
  • generated/errors/wp_cloud_assignment_kind_mismatch.md is excluded by !**/generated/**
  • generated/errors/wp_cloud_assignment_space_mismatch.md is excluded by !**/generated/**
  • generated/errors/wp_cloud_assignment_team_mismatch.md is excluded by !**/generated/**
  • generated/errors/wp_cloud_client_in_use.md is excluded by !**/generated/**
  • generated/errors/wp_cloud_client_not_found.md is excluded by !**/generated/**
  • generated/errors/wp_cloud_site_still_assigned.md is excluded by !**/generated/**
  • generated/errors/wp_cloud_team_shared_site_exists.md is excluded by !**/generated/**
  • generated/errors/wp_cloud_webhook_secret_not_configured.md is excluded by !**/generated/**
  • generated/errors/zero_activating.md is excluded by !**/generated/**
  • generated/errors/zero_ai_unavailable.md is excluded by !**/generated/**
  • generated/errors/zero_artifact_abi_mismatch.md is excluded by !**/generated/**
  • generated/errors/zero_artifact_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_artifact_malformed.md is excluded by !**/generated/**
  • generated/errors/zero_artifact_path_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_artifact_unreadable.md is excluded by !**/generated/**
  • generated/errors/zero_auth_unavailable.md is excluded by !**/generated/**
  • generated/errors/zero_blob_key_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_blob_store_full.md is excluded by !**/generated/**
  • generated/errors/zero_blob_too_large.md is excluded by !**/generated/**
  • generated/errors/zero_blob_value_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_bootstrap_encode_failed.md is excluded by !**/generated/**
  • generated/errors/zero_bytecode_hash_mismatch.md is excluded by !**/generated/**
  • generated/errors/zero_bytecode_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_bytecode_path_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_bytecode_unreadable.md is excluded by !**/generated/**
  • generated/errors/zero_capabilities_encode_failed.md is excluded by !**/generated/**
  • generated/errors/zero_client_bundle_not_loaded.md is excluded by !**/generated/**
  • generated/errors/zero_db_connect_failed.md is excluded by !**/generated/**
  • generated/errors/zero_db_execute_failed.md is excluded by !**/generated/**
  • generated/errors/zero_db_export_cursor_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_db_export_failed.md is excluded by !**/generated/**
  • generated/errors/zero_db_export_page_too_large.md is excluded by !**/generated/**
  • generated/errors/zero_db_export_query_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_db_export_schema_changed.md is excluded by !**/generated/**
  • generated/errors/zero_db_export_schema_unavailable.md is excluded by !**/generated/**
  • generated/errors/zero_db_host_install_failed.md is excluded by !**/generated/**
  • generated/errors/zero_db_operation_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_db_operation_too_large.md is excluded by !**/generated/**
  • generated/errors/zero_db_param_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_db_query_failed.md is excluded by !**/generated/**
  • generated/errors/zero_db_row_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_db_sql_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_db_target_denied.md is excluded by !**/generated/**
  • generated/errors/zero_db_tls_required.md is excluded by !**/generated/**
  • generated/errors/zero_db_too_many_params.md is excluded by !**/generated/**
  • generated/errors/zero_db_transaction_active.md is excluded by !**/generated/**
  • generated/errors/zero_db_transaction_commit_failed.md is excluded by !**/generated/**
  • generated/errors/zero_db_transaction_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_db_transaction_missing.md is excluded by !**/generated/**
  • generated/errors/zero_db_transaction_rollback_failed.md is excluded by !**/generated/**
  • generated/errors/zero_db_transaction_start_failed.md is excluded by !**/generated/**
  • generated/errors/zero_db_url_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_db_url_missing.md is excluded by !**/generated/**
  • generated/errors/zero_dev_endpoint_failed.md is excluded by !**/generated/**
  • generated/errors/zero_dump_query_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_compile_failed.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_conflict.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_duplicate.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_id_duplicate.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_index_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_index_malformed.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_index_path_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_index_unreadable.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_mismatch.md is excluded by !**/generated/**
  • generated/errors/zero_endpoint_not_found.md is excluded by !**/generated/**
  • generated/errors/zero_endpoints_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_endpoints_too_many.md is excluded by !**/generated/**
  • generated/errors/zero_envelope_encode_failed.md is excluded by !**/generated/**
  • generated/errors/zero_js_context_init_failed.md is excluded by !**/generated/**
  • generated/errors/zero_js_execution_failed.md is excluded by !**/generated/**
  • generated/errors/zero_js_execution_timeout.md is excluded by !**/generated/**
  • generated/errors/zero_js_globals_failed.md is excluded by !**/generated/**
  • generated/errors/zero_js_response_malformed.md is excluded by !**/generated/**
  • generated/errors/zero_js_runtime_init_failed.md is excluded by !**/generated/**
  • generated/errors/zero_log_query_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_method_not_allowed.md is excluded by !**/generated/**
  • generated/errors/zero_migration_failed.md is excluded by !**/generated/**
  • generated/errors/zero_query_name_missing.md is excluded by !**/generated/**
  • generated/errors/zero_realtime_forbidden.md is excluded by !**/generated/**
  • generated/errors/zero_realtime_message_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_realtime_operation_unsupported.md is excluded by !**/generated/**
  • generated/errors/zero_realtime_query_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_realtime_space_required.md is excluded by !**/generated/**
  • generated/errors/zero_realtime_unavailable.md is excluded by !**/generated/**
  • generated/errors/zero_realtime_websocket_forbidden.md is excluded by !**/generated/**
  • generated/errors/zero_replay_failed.md is excluded by !**/generated/**
  • generated/errors/zero_replay_query_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_replay_unavailable.md is excluded by !**/generated/**
  • generated/errors/zero_request_body_too_large.md is excluded by !**/generated/**
  • generated/errors/zero_requires_dedicated_plan.md is excluded by !**/generated/**
  • generated/errors/zero_response_header_forbidden.md is excluded by !**/generated/**
  • generated/errors/zero_response_header_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_response_too_large.md is excluded by !**/generated/**
  • generated/errors/zero_routes_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_run_compile_failed.md is excluded by !**/generated/**
  • generated/errors/zero_run_duplicate.md is excluded by !**/generated/**
  • generated/errors/zero_run_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_run_operation_unsupported.md is excluded by !**/generated/**
  • generated/errors/zero_runner_envelope_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_runner_failed.md is excluded by !**/generated/**
  • generated/errors/zero_runner_invalid_body.md is excluded by !**/generated/**
  • generated/errors/zero_runner_invalid_response.md is excluded by !**/generated/**
  • generated/errors/zero_runner_invalid_status.md is excluded by !**/generated/**
  • generated/errors/zero_runner_protocol_unsupported.md is excluded by !**/generated/**
  • generated/errors/zero_runner_response_encode_failed.md is excluded by !**/generated/**
  • generated/errors/zero_runner_stdin_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_runner_stdin_too_large.md is excluded by !**/generated/**
  • generated/errors/zero_runner_unavailable.md is excluded by !**/generated/**
  • generated/errors/zero_runs_invalid.md is excluded by !**/generated/**
  • generated/errors/zero_runs_require_runtime_compiler.md is excluded by !**/generated/**
  • generated/errors/zero_runs_too_many.md is excluded by !**/generated/**
  • generated/errors/zero_shopify_unavailable.md is excluded by !**/generated/**
  • generated/manifest.json is excluded by !**/generated/**
  • generated/openapi/api.json is excluded by !**/generated/**
  • generated/openapi/platform.json is excluded by !**/generated/**
  • generated/redirects.json is excluded by !**/generated/**
📒 Files selected for processing (17)
  • .github/workflows/ci.yml
  • README.md
  • blume.config.ts
  • content/agents/index.md
  • content/api/index.md
  • content/spaces/mounts.md
  • package.json
  • proposed-ia.txt
  • scripts/audit-composed-site.mjs
  • scripts/audit-composed-site.test.mjs
  • scripts/build-docs-corpus.mjs
  • scripts/build-docs-corpus.test.mjs
  • scripts/emit-headers.mjs
  • scripts/emit-website-dependencies.mjs
  • scripts/redirect-rules.mjs
  • scripts/verify-routes.mjs
  • scripts/website-dependencies.mjs

📝 Walkthrough

Walkthrough

Changes

Composed Docs deployment

Layer / File(s) Summary
Site domain and documentation contracts
blume.config.ts, content/..., proposed-ia.txt, scripts/build-docs-corpus.*, scripts/verify-routes.mjs, scripts/redirect-rules.mjs
The site uses spacefast.com/docs. Documentation links and corpus fixtures use the new origin. The /spaces/mounts route is removed.
Website dependency manifest and build integration
scripts/website-dependencies.mjs, scripts/emit-website-dependencies.mjs, package.json
The build defines website dependencies and emits them as a JSON manifest under dist.
Composed-site audit and diagnostics
scripts/audit-composed-site.*, package.json
A local audit wrapper filters declared dependency findings and fails for unexpected error diagnostics. Tests cover the filtering helper.
Headers validation and publishing notification
scripts/emit-headers.mjs, scripts/verify-routes.mjs, .github/workflows/ci.yml, README.md
Header generation uses wildcard CORS rules and removes unsupported artifact globs. Successful documentation checks notify spacefast/monorepo with the source commit SHA. Publishing documentation describes the monorepo pipeline.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant DocsJob
  participant NotifyWebsite
  participant GitHubApp
  participant Monorepo
  DocsJob->>NotifyWebsite: complete successfully
  NotifyWebsite->>GitHubApp: mint scoped contents-write token
  GitHubApp-->>NotifyWebsite: return token
  NotifyWebsite->>Monorepo: dispatch docs-updated with repository and commit SHA
Loading

Possibly related PRs

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch batuhan/docs-in-website

Comment @coderabbitai help to get the list of available commands.

batuhan added 2 commits August 4, 2026 14:44
The setup.md prompt is the ranked best path for any agent that can fetch
a URL and act on it — it publishes with a single HTTP request, no MCP or
CLI required, and tells tool-less users what unlocks publishing. Plugin
and one-click agents point to their per-agent setup pages; the CLI,
setup command, skill, and MCP sections stay as the durable lanes.
@batuhan
batuhan marked this pull request as ready for review August 4, 2026 12:59
@batuhan
batuhan merged commit cdcbec0 into main Aug 4, 2026
2 of 4 checks passed
@batuhan
batuhan deleted the batuhan/docs-in-website branch August 4, 2026 13:02

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 972fb0947d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/ci.yml
app-id: ${{ secrets.RELEASE_APP_ID }}
private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
owner: spacefast
repositories: monorepo

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Move private repository identity out of the public workflow

Because this workflow is stored in the public docs repository, naming the private target here—and again in the dispatch endpoint—permanently exposes private repository metadata. Pass the target through a secret or another indirection instead of committing its identity.

AGENTS.md reference: AGENTS.md:L19-L21

Useful? React with 👍 / 👎.

This was referenced Aug 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant