@bluefly/openstandardagents 0.2.5-RC → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.devfile.yaml +1 -1
- package/.env.example +1 -1
- package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
- package/.github/workflows/dependabot-comment.yml +34 -0
- package/.github/workflows/pr-comment.yml +33 -0
- package/.husky/pre-commit +5 -0
- package/.kiro/config.json +21 -0
- package/.kiro/settings/mcp.json +61 -0
- package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
- package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
- package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
- package/.kiro/specs/{website-design-audit → website-brand-identity}/design.md +381 -0
- package/.kiro/specs/{website-design-audit → website-brand-identity}/requirements.md +88 -0
- package/.kiro/specs/website-brand-identity/tasks.md +981 -0
- package/.version.json +2 -2
- package/.wiki-config.json +24 -0
- package/CHANGELOG.md +34 -18
- package/CODEOWNERS +75 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +176 -239
- package/bin/ossa-dev +42 -0
- package/bin/ossa-export +32 -0
- package/bin/ossa-generate +60 -0
- package/bin/ossa-health +40 -0
- package/bin/ossa-init +26 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts +6 -1
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +63 -36
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/github-sync/github-client.d.ts +14 -0
- package/dist/services/github-sync/github-client.d.ts.map +1 -0
- package/dist/services/github-sync/github-client.js +41 -0
- package/dist/services/github-sync/github-client.js.map +1 -0
- package/dist/services/github-sync/gitlab-client.d.ts +17 -0
- package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
- package/dist/services/github-sync/gitlab-client.js +42 -0
- package/dist/services/github-sync/gitlab-client.js.map +1 -0
- package/dist/services/github-sync/schemas.d.ts +46 -0
- package/dist/services/github-sync/schemas.d.ts.map +1 -0
- package/dist/services/github-sync/schemas.js +36 -0
- package/dist/services/github-sync/schemas.js.map +1 -0
- package/dist/services/github-sync/sync.service.d.ts +27 -0
- package/dist/services/github-sync/sync.service.d.ts.map +1 -0
- package/dist/services/github-sync/sync.service.js +99 -0
- package/dist/services/github-sync/sync.service.js.map +1 -0
- package/dist/services/migration.service.d.ts +4 -3
- package/dist/services/migration.service.d.ts.map +1 -1
- package/dist/services/migration.service.js +11 -10
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/release-automation/release.service.js +1 -1
- package/dist/services/release-automation/release.service.js.map +1 -1
- package/dist/services/release-automation/schemas/release.schema.js +1 -1
- package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
- package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
- package/dist/services/runtime/claude/capability-mapper.js +245 -0
- package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
- package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
- package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
- package/dist/services/runtime/claude/claude-adapter.js +287 -0
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
- package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
- package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
- package/dist/services/runtime/claude/manifest-parser.js +169 -0
- package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
- package/dist/services/runtime/claude/types.d.ts +115 -0
- package/dist/services/runtime/claude/types.d.ts.map +1 -0
- package/dist/services/runtime/claude/types.js +6 -0
- package/dist/services/runtime/claude/types.js.map +1 -0
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +12 -1
- package/dist/services/validation.service.js.map +1 -1
- package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
- package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.6/README.md +72 -0
- package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/dist/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
- package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
- package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
- package/dist/spec/v0.2.6-dev/README.md +75 -0
- package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
- package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
- package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
- package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
- package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.8/README.md +72 -0
- package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
- package/dist/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
- package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/version.d.ts +68 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +156 -0
- package/dist/utils/version.js.map +1 -0
- package/docs/brand-guide/01-brand-overview.md +37 -0
- package/docs/brand-guide/02-logo-usage.md +43 -0
- package/docs/brand-guide/03-color-palette.md +70 -0
- package/docs/brand-guide/04-typography.md +82 -0
- package/docs/brand-guide/05-voice-and-tone.md +108 -0
- package/docs/brand-guide/06-visual-elements.md +137 -0
- package/docs/brand-guide/07-application-examples.md +153 -0
- package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
- package/docs/brand-guide/OssaLogo/brand.af +0 -0
- package/docs/brand-guide/README.md +107 -0
- package/docs/comparison.md +315 -0
- package/docs/operations/automation-roadmap.md +245 -0
- package/docs/operations/github-sync-strategy.md +357 -0
- package/eslint-report.json +1 -0
- package/examples/adk-integration/code-review-workflow.yml +1 -1
- package/examples/adk-integration/customer-support.yml +1 -1
- package/examples/adk-integration/data-pipeline.yml +1 -1
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
- package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
- package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
- package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
- package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
- package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
- package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
- package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
- package/examples/anthropic/claude-assistant.ossa.json +5 -4
- package/examples/autogen/multi-agent.ossa.json +6 -4
- package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
- package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
- package/examples/common_npm/agent-router.ossa.yaml +1 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
- package/examples/crewai/research-team.ossa.json +14 -5
- package/examples/cursor/code-review-agent.ossa.json +21 -6
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
- package/examples/extensions/drupal-v1.yml +1 -1
- package/examples/extensions/kagent-v1.yml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
- package/examples/kagent/compliance-validator.ossa.yaml +1 -1
- package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
- package/examples/kagent/documentation-agent.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
- package/examples/kagent/security-scanner.ossa.yaml +1 -1
- package/examples/langchain/chain-agent.ossa.json +21 -5
- package/examples/langflow/workflow-agent.ossa.json +2 -3
- package/examples/langgraph/state-machine-agent.ossa.json +2 -3
- package/examples/llamaindex/rag-agent.ossa.json +2 -3
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/multi-agent/README.md +74 -0
- package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
- package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
- package/examples/openai/basic-agent.ossa.yaml +1 -1
- package/examples/openai/multi-tool-agent.ossa.json +33 -10
- package/examples/openai/swarm-agent.ossa.json +18 -5
- package/examples/production/document-analyzer-openai.yml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/spec-examples/audit-agent.yml +1 -1
- package/examples/spec-examples/chat-agent.yml +1 -1
- package/examples/spec-examples/compliance-agent.yml +1 -1
- package/examples/spec-examples/monitoring-agent.yml +1 -1
- package/examples/spec-examples/workflow-agent.yml +1 -1
- package/examples/templates/ossa-compliance.yaml +1 -1
- package/examples/vercel/edge-agent.ossa.json +5 -4
- package/gl-code-quality-report.json +62 -0
- package/llms-ctx-full.txt +39 -0
- package/llms-ctx.txt +39 -0
- package/llms.txt +47 -0
- package/openapi/github-sync.yaml +115 -0
- package/package.json +26 -4
- package/scripts/README.md +103 -0
- package/scripts/auto-rebase-mrs.ts +106 -0
- package/scripts/batch-dependabot.sh +57 -0
- package/scripts/configure-gitlab-branch-protection.ts +95 -0
- package/scripts/create-issue-helper.ts +238 -0
- package/scripts/create-milestone-issue.ts +73 -0
- package/scripts/eslint-to-codequality.cjs +34 -0
- package/scripts/fix-schema-formats.js +82 -0
- package/scripts/generate-agents-catalog.ts +77 -0
- package/scripts/generate-api-docs.ts +218 -0
- package/scripts/generate-cli-docs.ts +410 -0
- package/scripts/generate-config-docs.ts +109 -0
- package/scripts/generate-errors-docs.ts +76 -0
- package/scripts/generate-examples-docs.ts +99 -0
- package/scripts/generate-llms-ctx.sh +17 -0
- package/scripts/generate-schema-docs.ts +317 -0
- package/scripts/generate-types-docs.ts +48 -0
- package/scripts/lowercase-docs.ts +43 -0
- package/scripts/manage-milestone-mrs.ts +279 -0
- package/scripts/rebase-all-mrs.sh +75 -0
- package/scripts/sync-github-pr.sh +48 -0
- package/scripts/sync-version.js +32 -0
- package/scripts/sync-wiki.sh +50 -0
- package/scripts/validate-all.js +127 -0
- package/scripts/validate-schema.ts +2 -1
- package/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
- package/spec/v0.2.6/CHANGELOG.md +401 -0
- package/spec/v0.2.6/README.md +72 -0
- package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
- package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
- package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
- package/spec/v0.2.6-dev/README.md +75 -0
- package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
- package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
- package/spec/v0.2.7/core/agentgraph.md +324 -0
- package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
- package/spec/v0.2.8/CHANGELOG.md +401 -0
- package/spec/v0.2.8/README.md +72 -0
- package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
- package/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
- package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/test-results/junit.xml +299 -0
- package/.kiro/specs/agent-buildkit-templates/design.md +0 -495
- package/.kiro/specs/agent-buildkit-templates/requirements.md +0 -165
- package/.kiro/specs/kiro-ide-supercharger/README.md +0 -202
- package/.kiro/specs/kiro-ide-supercharger/design.md +0 -1005
- package/.kiro/specs/kiro-ide-supercharger/requirements.md +0 -141
- package/.kiro/specs/kiro-ide-supercharger/tasks.md +0 -507
- package/bin/validate-ossa-0.2.5-RC.ts +0 -244
- package/docs/issue-19-completion-summary.md +0 -648
- package/docs/issue-19-validation.md +0 -351
- package/scripts/lib/exec.ts +0 -37
- package/scripts/lib/file-ops.ts +0 -58
- package/scripts/lib/version.ts +0 -83
- package/website/.lighthouserc.ts +0 -24
- package/website/.prettierrc +0 -10
- package/website/Dockerfile +0 -30
- package/website/app/about/page.tsx +0 -295
- package/website/app/blog/[slug]/page.tsx +0 -208
- package/website/app/blog/page.tsx +0 -249
- package/website/app/design-guide/page.tsx +0 -511
- package/website/app/docs/[[...slug]]/page.tsx +0 -847
- package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
- package/website/app/ecosystem/page.tsx +0 -375
- package/website/app/examples/page.tsx +0 -133
- package/website/app/globals.scss +0 -135
- package/website/app/layout.tsx +0 -106
- package/website/app/license/page.tsx +0 -183
- package/website/app/not-found.tsx +0 -18
- package/website/app/page.tsx +0 -474
- package/website/app/playground/page.tsx +0 -487
- package/website/app/robots.ts +0 -19
- package/website/app/rss.xml/route.ts +0 -74
- package/website/app/schema/page.tsx +0 -1001
- package/website/app/sitemap.ts +0 -56
- package/website/app/specification/page.tsx +0 -287
- package/website/components/InstallCommand.tsx +0 -96
- package/website/components/Logo.tsx +0 -97
- package/website/components/StructuredData.tsx +0 -65
- package/website/components/docs/DocsSearch.tsx +0 -104
- package/website/components/docs/DocsSidebar.tsx +0 -155
- package/website/components/docs/MarkdownContent.tsx +0 -401
- package/website/components/docs/VersionSelector.tsx +0 -105
- package/website/components/examples/ExamplesViewer.tsx +0 -293
- package/website/components/layout/Footer.tsx +0 -116
- package/website/components/layout/Header.tsx +0 -168
- package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
- package/website/components/schema/SchemaExplorer.tsx +0 -213
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
- package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
- package/website/content/blog/introducing-ossa-framework.md +0 -328
- package/website/content/blog/ossa-production-results.md +0 -279
- package/website/content/blog/welcome-to-ossa.md +0 -43
- package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
- package/website/content/docs/00-HOME.md +0 -153
- package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +0 -107
- package/website/content/docs/Examples.md +0 -71
- package/website/content/docs/OpenAPI-Extensions.md +0 -934
- package/website/content/docs/adapters/openai-adapter.md +0 -693
- package/website/content/docs/architecture/execution-flow.md +0 -335
- package/website/content/docs/architecture/multi-agent-systems.md +0 -737
- package/website/content/docs/architecture/overview.md +0 -121
- package/website/content/docs/architecture/stack-integration.md +0 -461
- package/website/content/docs/changelog.md +0 -246
- package/website/content/docs/contributing.md +0 -599
- package/website/content/docs/core-concepts/Project-Structure.md +0 -348
- package/website/content/docs/ecosystem/framework-support.md +0 -819
- package/website/content/docs/ecosystem/overview.md +0 -366
- package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +0 -107
- package/website/content/docs/examples/Migration-Guides.md +0 -214
- package/website/content/docs/for-audiences/Architects.md +0 -224
- package/website/content/docs/for-audiences/Developers.md +0 -220
- package/website/content/docs/for-audiences/Enterprises.md +0 -256
- package/website/content/docs/for-audiences/Students-Researchers.md +0 -122
- package/website/content/docs/getting-started/5-Minute-Overview.md +0 -85
- package/website/content/docs/getting-started/First-Agent.md +0 -196
- package/website/content/docs/getting-started/Hello-World.md +0 -184
- package/website/content/docs/getting-started/Installation.md +0 -155
- package/website/content/docs/getting-started/index.md +0 -92
- package/website/content/docs/getting-started/running-agents.md +0 -309
- package/website/content/docs/getting-started.md +0 -91
- package/website/content/docs/integrations/aiflow.md +0 -104
- package/website/content/docs/integrations/drupal.md +0 -105
- package/website/content/docs/migration-guides/00-INDEX.md +0 -76
- package/website/content/docs/migration-guides/README.md +0 -133
- package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
- package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
- package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
- package/website/content/docs/migration-guides/index.md +0 -133
- package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
- package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
- package/website/content/docs/migration-guides/migration-manifest.json +0 -64
- package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
- package/website/content/docs/openapi-extensions/examples.md +0 -550
- package/website/content/docs/openapi-extensions/index.md +0 -551
- package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
- package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
- package/website/content/docs/ossa-compliant-badge.md +0 -251
- package/website/content/docs/pre-release/index.md +0 -175
- package/website/content/docs/quick-reference.md +0 -17
- package/website/content/docs/readme.md +0 -35
- package/website/content/docs/schema-reference/agent-spec.md +0 -406
- package/website/content/docs/schema-reference/autonomy.md +0 -568
- package/website/content/docs/schema-reference/constraints.md +0 -543
- package/website/content/docs/schema-reference/index.md +0 -176
- package/website/content/docs/schema-reference/llm-config.md +0 -445
- package/website/content/docs/schema-reference/observability.md +0 -654
- package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
- package/website/content/docs/schema-reference/taxonomy.md +0 -509
- package/website/content/docs/schema-reference/tools.md +0 -628
- package/website/content/docs/templates/blog-post.md +0 -43
- package/website/content/docs/use-cases/00-index.md +0 -395
- package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
- package/website/content/docs/use-cases/customer-support.md +0 -1234
- package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
- package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
- package/website/content/docs/versioning.md +0 -288
- package/website/lib/version.ts +0 -35
- package/website/lib/versions.json +0 -78
- package/website/next.config.ts +0 -18
- package/website/nginx.conf +0 -32
- package/website/package-lock.json +0 -9679
- package/website/package.json +0 -59
- package/website/postcss.config.mjs +0 -9
- package/website/scripts/fetch-versions.js +0 -166
- package/website/scripts/generate-examples-index.js +0 -163
- package/website/scripts/merge-docs-to-wiki.ts +0 -207
- package/website/scripts/sync-version.js +0 -72
- package/website/scripts/sync-wiki.ts +0 -322
- package/website/scripts/upload-wiki.ts +0 -199
- package/website/styles/_variables.scss +0 -36
- package/website/tailwind.config.ts +0 -136
- /package/dist/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
- /package/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
# Automation Audit Report
|
|
2
|
+
|
|
3
|
+
## Shell Scripts Found (Convert to TypeScript)
|
|
4
|
+
|
|
5
|
+
### 1. `.gitlab/release-automation/setup.sh`
|
|
6
|
+
**Current**: Bash script for release setup
|
|
7
|
+
**Convert to**:
|
|
8
|
+
- TypeScript service with Zod validation
|
|
9
|
+
- OSSA CLI command: `ossa release setup`
|
|
10
|
+
- GitLab CI job (automated)
|
|
11
|
+
|
|
12
|
+
### 2. `website/restart-dev.sh`
|
|
13
|
+
**Current**: Bash script to restart dev server
|
|
14
|
+
**Action**: DELETE - Not needed in production
|
|
15
|
+
**Alternative**: Use `npm run dev` directly
|
|
16
|
+
|
|
17
|
+
### 3. `scripts/setup-branch-protection.sh`
|
|
18
|
+
**Current**: Bash script for branch protection
|
|
19
|
+
**Convert to**:
|
|
20
|
+
- TypeScript service with GitLab API client
|
|
21
|
+
- OSSA CLI command: `ossa repo protect`
|
|
22
|
+
- Run automatically in CI on repo setup
|
|
23
|
+
|
|
24
|
+
### 4. `infrastructure/k8s/monitoring/deploy.sh`
|
|
25
|
+
**Current**: Bash deployment script
|
|
26
|
+
**Convert to**:
|
|
27
|
+
- TypeScript K8s client with Zod schemas
|
|
28
|
+
- OSSA CLI command: `ossa k8s deploy`
|
|
29
|
+
- GitLab CI job (automated)
|
|
30
|
+
|
|
31
|
+
## Manual CI Jobs (Automate)
|
|
32
|
+
|
|
33
|
+
Found **13 manual jobs** in CI config.
|
|
34
|
+
|
|
35
|
+
### High Priority Automations
|
|
36
|
+
|
|
37
|
+
1. **Release Process**
|
|
38
|
+
- Current: Manual trigger
|
|
39
|
+
- Automate: On tag push
|
|
40
|
+
- Agent: Release automation agent
|
|
41
|
+
|
|
42
|
+
2. **Dependency Updates**
|
|
43
|
+
- Current: Manual Dependabot review
|
|
44
|
+
- Automate: Daily scheduled sync (DONE in MR !65)
|
|
45
|
+
- Agent: GitHub sync agent
|
|
46
|
+
|
|
47
|
+
3. **Branch Protection**
|
|
48
|
+
- Current: Manual setup
|
|
49
|
+
- Automate: On repo creation
|
|
50
|
+
- Agent: Repository setup agent
|
|
51
|
+
|
|
52
|
+
4. **Deployment**
|
|
53
|
+
- Current: Manual trigger
|
|
54
|
+
- Automate: On merge to main
|
|
55
|
+
- Agent: Deployment agent
|
|
56
|
+
|
|
57
|
+
5. **Version Bumping**
|
|
58
|
+
- Current: Manual npm version
|
|
59
|
+
- Automate: Semantic release (already exists)
|
|
60
|
+
- Agent: Version management agent
|
|
61
|
+
|
|
62
|
+
## Opportunities for GitLab Agents
|
|
63
|
+
|
|
64
|
+
### 1. Code Review Agent
|
|
65
|
+
```yaml
|
|
66
|
+
code-review:
|
|
67
|
+
stage: .pre
|
|
68
|
+
script:
|
|
69
|
+
- ossa review mr $CI_MERGE_REQUEST_IID
|
|
70
|
+
rules:
|
|
71
|
+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 2. Documentation Agent
|
|
75
|
+
```yaml
|
|
76
|
+
docs-update:
|
|
77
|
+
stage: .post
|
|
78
|
+
script:
|
|
79
|
+
- ossa docs sync
|
|
80
|
+
rules:
|
|
81
|
+
- if: $CI_COMMIT_BRANCH == "main"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 3. Security Scan Agent
|
|
85
|
+
```yaml
|
|
86
|
+
security-scan:
|
|
87
|
+
stage: test
|
|
88
|
+
script:
|
|
89
|
+
- ossa security scan
|
|
90
|
+
rules:
|
|
91
|
+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 4. Performance Test Agent
|
|
95
|
+
```yaml
|
|
96
|
+
performance:
|
|
97
|
+
stage: test
|
|
98
|
+
script:
|
|
99
|
+
- ossa perf test
|
|
100
|
+
rules:
|
|
101
|
+
- if: $CI_MERGE_REQUEST_LABELS =~ /performance/
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Conversion Plan
|
|
105
|
+
|
|
106
|
+
### Phase 1: Core Scripts (Week 1)
|
|
107
|
+
|
|
108
|
+
1. **Release Automation**
|
|
109
|
+
```typescript
|
|
110
|
+
// src/services/release/release.service.ts
|
|
111
|
+
export class ReleaseService {
|
|
112
|
+
async setup(): Promise<void>
|
|
113
|
+
async bump(type: 'major' | 'minor' | 'patch'): Promise<string>
|
|
114
|
+
async publish(): Promise<void>
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
2. **Branch Protection**
|
|
119
|
+
```typescript
|
|
120
|
+
// src/services/repo/protection.service.ts
|
|
121
|
+
export class ProtectionService {
|
|
122
|
+
async protect(branch: string, rules: ProtectionRules): Promise<void>
|
|
123
|
+
async unprotect(branch: string): Promise<void>
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Phase 2: Infrastructure (Week 2)
|
|
128
|
+
|
|
129
|
+
3. **K8s Deployment**
|
|
130
|
+
```typescript
|
|
131
|
+
// src/services/k8s/deploy.service.ts
|
|
132
|
+
export class K8sDeployService {
|
|
133
|
+
async deploy(manifest: K8sManifest): Promise<DeployResult>
|
|
134
|
+
async rollback(deployment: string): Promise<void>
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
4. **Monitoring Setup**
|
|
139
|
+
```typescript
|
|
140
|
+
// src/services/monitoring/setup.service.ts
|
|
141
|
+
export class MonitoringService {
|
|
142
|
+
async setup(config: MonitoringConfig): Promise<void>
|
|
143
|
+
async health(): Promise<HealthStatus>
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Phase 3: Agents (Week 3)
|
|
148
|
+
|
|
149
|
+
5. **GitLab Agents**
|
|
150
|
+
- Code review agent
|
|
151
|
+
- Documentation agent
|
|
152
|
+
- Security scan agent
|
|
153
|
+
- Performance test agent
|
|
154
|
+
|
|
155
|
+
## Implementation Template
|
|
156
|
+
|
|
157
|
+
### Service Structure
|
|
158
|
+
```typescript
|
|
159
|
+
// src/services/{domain}/{service}.service.ts
|
|
160
|
+
import { z } from 'zod';
|
|
161
|
+
|
|
162
|
+
const ConfigSchema = z.object({
|
|
163
|
+
// Zod validation
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
export class ServiceName {
|
|
167
|
+
constructor(config: z.infer<typeof ConfigSchema>) {
|
|
168
|
+
ConfigSchema.parse(config);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
async operation(): Promise<Result> {
|
|
172
|
+
// Implementation
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### CLI Command
|
|
178
|
+
```typescript
|
|
179
|
+
// src/cli/commands/{domain}.command.ts
|
|
180
|
+
import { Command } from 'commander';
|
|
181
|
+
import { ServiceName } from '../../services/{domain}/{service}.service';
|
|
182
|
+
|
|
183
|
+
export const commandName = new Command('name')
|
|
184
|
+
.description('Description')
|
|
185
|
+
.action(async () => {
|
|
186
|
+
const service = new ServiceName(config);
|
|
187
|
+
await service.operation();
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### OpenAPI Spec
|
|
192
|
+
```yaml
|
|
193
|
+
# openapi/{service}.yaml
|
|
194
|
+
paths:
|
|
195
|
+
/{operation}:
|
|
196
|
+
post:
|
|
197
|
+
operationId: operation
|
|
198
|
+
requestBody:
|
|
199
|
+
content:
|
|
200
|
+
application/json:
|
|
201
|
+
schema:
|
|
202
|
+
$ref: '#/components/schemas/Request'
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### GitLab CI Job
|
|
206
|
+
```yaml
|
|
207
|
+
# .gitlab/ci/{service}.yml
|
|
208
|
+
{service}:
|
|
209
|
+
stage: {stage}
|
|
210
|
+
script:
|
|
211
|
+
- ossa {command}
|
|
212
|
+
rules:
|
|
213
|
+
- if: {condition}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Metrics
|
|
217
|
+
|
|
218
|
+
### Current State
|
|
219
|
+
- Shell scripts: 4
|
|
220
|
+
- Manual CI jobs: 13
|
|
221
|
+
- Automation coverage: ~40%
|
|
222
|
+
|
|
223
|
+
### Target State
|
|
224
|
+
- Shell scripts: 0
|
|
225
|
+
- Manual CI jobs: 3 (deploy to prod, rollback, emergency)
|
|
226
|
+
- Automation coverage: ~95%
|
|
227
|
+
|
|
228
|
+
### Benefits
|
|
229
|
+
- Faster development
|
|
230
|
+
- Fewer errors
|
|
231
|
+
- Better testing
|
|
232
|
+
- Type safety
|
|
233
|
+
- Maintainability
|
|
234
|
+
|
|
235
|
+
## Priority Order
|
|
236
|
+
|
|
237
|
+
1. ✅ GitHub PR sync (DONE - MR !65)
|
|
238
|
+
2. 🔄 Release automation
|
|
239
|
+
3. 🔄 Branch protection
|
|
240
|
+
4. 🔄 K8s deployment
|
|
241
|
+
5. 🔄 Code review agent
|
|
242
|
+
6. 🔄 Security scan agent
|
|
243
|
+
7. 🔄 Documentation agent
|
|
244
|
+
8. 🔄 Performance test agent
|
|
245
|
+
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
# GitHub Sync Strategy
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
**GitLab** = Private development (source of truth)
|
|
6
|
+
**GitHub** = Public mirror + community contributions
|
|
7
|
+
|
|
8
|
+
## Current State
|
|
9
|
+
|
|
10
|
+
### GitHub Repository
|
|
11
|
+
- **URL**: https://github.com/blueflyio/openstandardagents
|
|
12
|
+
- **Status**: Public
|
|
13
|
+
- **Features Enabled**: Issues ✓, Wiki ✓, Discussions ✓, PRs ✓
|
|
14
|
+
- **Current PRs**: 10+ open (mostly Dependabot)
|
|
15
|
+
|
|
16
|
+
### GitLab Repository
|
|
17
|
+
- **URL**: https://gitlab.com/blueflyio/openstandardagents
|
|
18
|
+
- **Status**: Private development
|
|
19
|
+
- **Features**: Full CI/CD, MRs, Wiki, Issues
|
|
20
|
+
|
|
21
|
+
## Sync Strategy
|
|
22
|
+
|
|
23
|
+
### 1. Code Sync (GitLab → GitHub)
|
|
24
|
+
|
|
25
|
+
**Method**: Automatic push mirror
|
|
26
|
+
|
|
27
|
+
```yaml
|
|
28
|
+
# .gitlab-ci.yml
|
|
29
|
+
mirror:github:
|
|
30
|
+
stage: deploy
|
|
31
|
+
only:
|
|
32
|
+
- main
|
|
33
|
+
- tags
|
|
34
|
+
script:
|
|
35
|
+
- git push --mirror https://${GITHUB_TOKEN}@github.com/blueflyio/openstandardagents.git
|
|
36
|
+
variables:
|
|
37
|
+
GIT_STRATEGY: clone
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**What syncs**:
|
|
41
|
+
- ✅ main branch
|
|
42
|
+
- ✅ tags/releases
|
|
43
|
+
- ✅ commit history
|
|
44
|
+
- ❌ development branch (keep private)
|
|
45
|
+
- ❌ feature branches (keep private)
|
|
46
|
+
|
|
47
|
+
### 2. Pull Requests (GitHub → GitLab)
|
|
48
|
+
|
|
49
|
+
**Workflow**:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
GitHub PR → Review → Create GitLab MR → Merge → Sync back to GitHub
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Process**:
|
|
56
|
+
|
|
57
|
+
1. **External contributor opens PR on GitHub**
|
|
58
|
+
2. **Bot comments**: "Thanks! We'll review and sync to our internal GitLab"
|
|
59
|
+
3. **Maintainer creates GitLab MR** from PR
|
|
60
|
+
4. **Review and merge on GitLab**
|
|
61
|
+
5. **Changes sync back to GitHub** via mirror
|
|
62
|
+
6. **GitHub PR auto-closes** (commit in main)
|
|
63
|
+
|
|
64
|
+
**Automation Script**:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
#!/bin/bash
|
|
68
|
+
# scripts/sync-github-pr.sh
|
|
69
|
+
|
|
70
|
+
PR_NUMBER=$1
|
|
71
|
+
gh pr checkout $PR_NUMBER
|
|
72
|
+
git checkout -b github-pr-$PR_NUMBER
|
|
73
|
+
git push origin github-pr-$PR_NUMBER
|
|
74
|
+
|
|
75
|
+
# Create GitLab MR
|
|
76
|
+
glab mr create \
|
|
77
|
+
--title "GitHub PR #$PR_NUMBER: $(gh pr view $PR_NUMBER --json title -q .title)" \
|
|
78
|
+
--description "From: https://github.com/blueflyio/openstandardagents/pull/$PR_NUMBER" \
|
|
79
|
+
--source-branch github-pr-$PR_NUMBER \
|
|
80
|
+
--target-branch main
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 3. Issues Sync
|
|
84
|
+
|
|
85
|
+
**Strategy**: Keep separate
|
|
86
|
+
|
|
87
|
+
- **GitHub Issues**: Community questions, bug reports
|
|
88
|
+
- **GitLab Issues**: Internal development, roadmap
|
|
89
|
+
|
|
90
|
+
**Workflow**:
|
|
91
|
+
|
|
92
|
+
1. **Community reports issue on GitHub**
|
|
93
|
+
2. **Triage**: Is it a bug/feature request?
|
|
94
|
+
3. **If actionable**: Create GitLab issue, link back
|
|
95
|
+
4. **Close GitHub issue** with: "Tracked internally at gitlab.com/..."
|
|
96
|
+
|
|
97
|
+
**Automation**:
|
|
98
|
+
|
|
99
|
+
```yaml
|
|
100
|
+
# .github/workflows/issue-triage.yml
|
|
101
|
+
name: Issue Triage
|
|
102
|
+
on:
|
|
103
|
+
issues:
|
|
104
|
+
types: [opened]
|
|
105
|
+
jobs:
|
|
106
|
+
triage:
|
|
107
|
+
runs-on: ubuntu-latest
|
|
108
|
+
steps:
|
|
109
|
+
- name: Comment
|
|
110
|
+
uses: actions/github-script@v7
|
|
111
|
+
with:
|
|
112
|
+
script: |
|
|
113
|
+
github.rest.issues.createComment({
|
|
114
|
+
issue_number: context.issue.number,
|
|
115
|
+
owner: context.repo.owner,
|
|
116
|
+
repo: context.repo.repo,
|
|
117
|
+
body: '👋 Thanks for opening an issue! We track development on GitLab. A maintainer will review and create an internal issue if needed.'
|
|
118
|
+
})
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 4. Wiki Sync
|
|
122
|
+
|
|
123
|
+
**Strategy**: One-way GitLab → GitHub
|
|
124
|
+
|
|
125
|
+
**What to sync**:
|
|
126
|
+
- ✅ Public documentation
|
|
127
|
+
- ✅ Getting started guides
|
|
128
|
+
- ✅ API reference
|
|
129
|
+
- ❌ Internal operations docs
|
|
130
|
+
- ❌ Private deployment guides
|
|
131
|
+
|
|
132
|
+
**Automation**:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
#!/bin/bash
|
|
136
|
+
# scripts/sync-wiki.sh
|
|
137
|
+
|
|
138
|
+
# Clone GitLab wiki
|
|
139
|
+
git clone https://gitlab.com/blueflyio/openstandardagents.wiki.git gitlab-wiki
|
|
140
|
+
|
|
141
|
+
# Clone GitHub wiki
|
|
142
|
+
git clone https://github.com/blueflyio/openstandardagents.wiki.git github-wiki
|
|
143
|
+
|
|
144
|
+
# Sync public pages
|
|
145
|
+
PUBLIC_PAGES=(
|
|
146
|
+
"Home.md"
|
|
147
|
+
"Getting-Started.md"
|
|
148
|
+
"CLI-Utilities.md"
|
|
149
|
+
"V0.2.6-Release-Notes.md"
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
for page in "${PUBLIC_PAGES[@]}"; do
|
|
153
|
+
cp "gitlab-wiki/$page" "github-wiki/$page"
|
|
154
|
+
done
|
|
155
|
+
|
|
156
|
+
cd github-wiki
|
|
157
|
+
git add .
|
|
158
|
+
git commit -m "Sync from GitLab wiki"
|
|
159
|
+
git push
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 5. Releases Sync
|
|
163
|
+
|
|
164
|
+
**Strategy**: Automatic via tags
|
|
165
|
+
|
|
166
|
+
**Workflow**:
|
|
167
|
+
|
|
168
|
+
1. **Create release on GitLab**
|
|
169
|
+
2. **Tag syncs to GitHub** (via mirror)
|
|
170
|
+
3. **GitHub Actions creates release** from tag
|
|
171
|
+
|
|
172
|
+
```yaml
|
|
173
|
+
# .github/workflows/release.yml
|
|
174
|
+
name: Create Release
|
|
175
|
+
on:
|
|
176
|
+
push:
|
|
177
|
+
tags:
|
|
178
|
+
- 'v*'
|
|
179
|
+
jobs:
|
|
180
|
+
release:
|
|
181
|
+
runs-on: ubuntu-latest
|
|
182
|
+
steps:
|
|
183
|
+
- uses: actions/checkout@v4
|
|
184
|
+
- name: Create Release
|
|
185
|
+
uses: softprops/action-gh-release@v1
|
|
186
|
+
with:
|
|
187
|
+
generate_release_notes: true
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Implementation Plan
|
|
191
|
+
|
|
192
|
+
### Phase 1: Setup (Week 1)
|
|
193
|
+
|
|
194
|
+
- [ ] Configure GitLab → GitHub mirror
|
|
195
|
+
- [ ] Add GitHub token to GitLab CI
|
|
196
|
+
- [ ] Test mirror sync
|
|
197
|
+
- [ ] Update GitHub README with contribution notice
|
|
198
|
+
|
|
199
|
+
### Phase 2: PR Workflow (Week 2)
|
|
200
|
+
|
|
201
|
+
- [ ] Create PR sync script
|
|
202
|
+
- [ ] Add GitHub Actions for PR comments
|
|
203
|
+
- [ ] Document PR workflow
|
|
204
|
+
- [ ] Test with sample PR
|
|
205
|
+
|
|
206
|
+
### Phase 3: Issue Management (Week 3)
|
|
207
|
+
|
|
208
|
+
- [ ] Add issue triage automation
|
|
209
|
+
- [ ] Create issue templates
|
|
210
|
+
- [ ] Document issue workflow
|
|
211
|
+
- [ ] Train team on process
|
|
212
|
+
|
|
213
|
+
### Phase 4: Wiki & Releases (Week 4)
|
|
214
|
+
|
|
215
|
+
- [ ] Create wiki sync script
|
|
216
|
+
- [ ] Setup release automation
|
|
217
|
+
- [ ] Test full workflow
|
|
218
|
+
- [ ] Document for team
|
|
219
|
+
|
|
220
|
+
## GitHub Repository Configuration
|
|
221
|
+
|
|
222
|
+
### Settings to Update
|
|
223
|
+
|
|
224
|
+
**General**:
|
|
225
|
+
- Description: "Open Standard for AI Agents - Public mirror of GitLab repo"
|
|
226
|
+
- Website: https://openstandardagents.org
|
|
227
|
+
- Topics: `ai`, `agents`, `openapi`, `standard`, `ossa`
|
|
228
|
+
|
|
229
|
+
**Features**:
|
|
230
|
+
- ✅ Issues (for community)
|
|
231
|
+
- ✅ Wiki (synced from GitLab)
|
|
232
|
+
- ✅ Discussions (for community)
|
|
233
|
+
- ✅ Pull Requests (with workflow)
|
|
234
|
+
|
|
235
|
+
**Branch Protection** (main):
|
|
236
|
+
- ✅ Require pull request reviews
|
|
237
|
+
- ✅ Require status checks
|
|
238
|
+
- ✅ Restrict pushes (mirror only)
|
|
239
|
+
|
|
240
|
+
### README Notice
|
|
241
|
+
|
|
242
|
+
Add to top of GitHub README:
|
|
243
|
+
|
|
244
|
+
```markdown
|
|
245
|
+
> **Note**: This is a public mirror of our GitLab repository.
|
|
246
|
+
>
|
|
247
|
+
> - **Development**: https://gitlab.com/blueflyio/openstandardagents
|
|
248
|
+
> - **Issues**: Report here or on GitLab
|
|
249
|
+
> - **Pull Requests**: Welcome! We'll sync to GitLab for review
|
|
250
|
+
> - **Documentation**: https://openstandardagents.org
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Handling Dependabot PRs
|
|
254
|
+
|
|
255
|
+
**Current**: 10+ open Dependabot PRs
|
|
256
|
+
|
|
257
|
+
**Strategy**:
|
|
258
|
+
|
|
259
|
+
1. **Review on GitHub** (quick security check)
|
|
260
|
+
2. **Batch merge** weekly
|
|
261
|
+
3. **Sync to GitLab** as single MR
|
|
262
|
+
4. **Test on GitLab CI**
|
|
263
|
+
5. **Merge and sync back**
|
|
264
|
+
|
|
265
|
+
**Automation**:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
# scripts/batch-dependabot.sh
|
|
269
|
+
gh pr list --label dependencies --json number -q '.[].number' | \
|
|
270
|
+
xargs -I {} gh pr merge {} --auto --squash
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## Security Considerations
|
|
274
|
+
|
|
275
|
+
### Secrets Management
|
|
276
|
+
|
|
277
|
+
- ❌ Never commit secrets to GitHub
|
|
278
|
+
- ✅ Use GitLab CI variables for sensitive data
|
|
279
|
+
- ✅ GitHub Actions secrets for public workflows
|
|
280
|
+
- ✅ Rotate tokens every 90 days
|
|
281
|
+
|
|
282
|
+
### Private Information
|
|
283
|
+
|
|
284
|
+
**Keep on GitLab only**:
|
|
285
|
+
- Internal deployment configs
|
|
286
|
+
- Customer information
|
|
287
|
+
- Private API keys
|
|
288
|
+
- Team discussions
|
|
289
|
+
- Development branches
|
|
290
|
+
|
|
291
|
+
**Safe for GitHub**:
|
|
292
|
+
- Public documentation
|
|
293
|
+
- Open source code
|
|
294
|
+
- Release notes
|
|
295
|
+
- Community discussions
|
|
296
|
+
|
|
297
|
+
## Monitoring
|
|
298
|
+
|
|
299
|
+
### Metrics to Track
|
|
300
|
+
|
|
301
|
+
- Mirror sync status (daily)
|
|
302
|
+
- PR response time (< 48 hours)
|
|
303
|
+
- Issue triage time (< 24 hours)
|
|
304
|
+
- Wiki sync frequency (weekly)
|
|
305
|
+
- Community engagement (monthly)
|
|
306
|
+
|
|
307
|
+
### Alerts
|
|
308
|
+
|
|
309
|
+
- Mirror sync failure
|
|
310
|
+
- PR older than 7 days
|
|
311
|
+
- Issue without response > 48 hours
|
|
312
|
+
|
|
313
|
+
## Team Responsibilities
|
|
314
|
+
|
|
315
|
+
### Maintainers
|
|
316
|
+
|
|
317
|
+
- Review GitHub PRs
|
|
318
|
+
- Triage GitHub issues
|
|
319
|
+
- Sync wiki weekly
|
|
320
|
+
- Monitor mirror status
|
|
321
|
+
|
|
322
|
+
### Contributors
|
|
323
|
+
|
|
324
|
+
- Can submit PRs on GitHub
|
|
325
|
+
- Can open issues on GitHub
|
|
326
|
+
- Follow contribution guidelines
|
|
327
|
+
- Respect code of conduct
|
|
328
|
+
|
|
329
|
+
## Documentation
|
|
330
|
+
|
|
331
|
+
### For Contributors
|
|
332
|
+
|
|
333
|
+
- `CONTRIBUTING.md` - How to contribute
|
|
334
|
+
- `.github/PULL_REQUEST_TEMPLATE.md` - PR template
|
|
335
|
+
- `.github/ISSUE_TEMPLATE/` - Issue templates
|
|
336
|
+
|
|
337
|
+
### For Maintainers
|
|
338
|
+
|
|
339
|
+
- `docs/operations/github-sync-strategy.md` - This document
|
|
340
|
+
- `docs/operations/pr-workflow.md` - PR handling
|
|
341
|
+
- `docs/operations/issue-triage.md` - Issue management
|
|
342
|
+
|
|
343
|
+
## Success Criteria
|
|
344
|
+
|
|
345
|
+
- ✅ Code syncs automatically within 5 minutes
|
|
346
|
+
- ✅ PRs reviewed within 48 hours
|
|
347
|
+
- ✅ Issues triaged within 24 hours
|
|
348
|
+
- ✅ Wiki updated weekly
|
|
349
|
+
- ✅ Zero security incidents
|
|
350
|
+
- ✅ Active community engagement
|
|
351
|
+
|
|
352
|
+
## References
|
|
353
|
+
|
|
354
|
+
- [GitLab Mirroring](https://docs.gitlab.com/ee/user/project/repository/mirror/)
|
|
355
|
+
- [GitHub Actions](https://docs.github.com/en/actions)
|
|
356
|
+
- [gh CLI](https://cli.github.com/)
|
|
357
|
+
- [glab CLI](https://gitlab.com/gitlab-org/cli)
|