@bluefly/openstandardagents 0.2.7 → 0.2.9
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/AGENTS.md +245 -0
- package/.github/agents/github-issue-triage.ossa.yaml +99 -0
- package/.github/agents/github-pr-triage.ossa.yaml +137 -0
- package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
- package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
- package/.version.json +2 -2
- package/.wiki-config.json +24 -0
- package/CHANGELOG.md +44 -18
- package/CODEOWNERS +75 -0
- package/CONTRIBUTING.md +103 -4
- package/README.md +178 -243
- 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 +49 -27
- package/dist/repositories/schema.repository.js.map +1 -1
- 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/release-automation/webhook.service.js +3 -3
- package/dist/services/release-automation/webhook.service.js.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
- package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.js +2 -2
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
- 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/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
- package/dist/spec/v0.2.9/agent.md +1946 -0
- package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
- package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
- package/dist/spec/v0.2.9/capability-schema.md +576 -0
- package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
- package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
- package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
- package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
- package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
- package/dist/spec/v0.2.9/security-model.md +1245 -0
- package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
- package/dist/spec/v0.2.9/types.ts +522 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/policy.d.ts +377 -0
- package/dist/types/policy.d.ts.map +1 -0
- package/dist/types/policy.js +84 -0
- package/dist/types/policy.js.map +1 -0
- 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/specs/policy-dsl.md +925 -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/reasoning-agent.yaml +136 -0
- 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/agents-md/code-agent.ossa.json +100 -0
- package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
- package/examples/anthropic/claude-assistant.ossa.json +1 -1
- package/examples/autogen/multi-agent.ossa.json +1 -1
- 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 +1 -1
- package/examples/cursor/code-review-agent.ossa.json +1 -1
- 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/agents-md-v1.yml +175 -0
- 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 +1 -1
- package/examples/langflow/workflow-agent.ossa.json +1 -1
- package/examples/langgraph/state-machine-agent.ossa.json +1 -1
- package/examples/llamaindex/rag-agent.ossa.json +1 -1
- 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 +1 -1
- package/examples/openai/swarm-agent.ossa.json +1 -1
- 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 +1 -1
- 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/package.json +6 -3
- package/scripts/README.md +25 -0
- package/scripts/compliance-audit.ts +796 -0
- package/scripts/eslint-to-codequality.cjs +34 -0
- package/scripts/generate-agents-catalog.ts +2 -1
- package/scripts/generate-api-docs.ts +2 -1
- package/scripts/generate-examples-docs.ts +2 -1
- package/scripts/generate-llms-ctx.sh +17 -0
- package/scripts/generate-schema-docs.ts +31 -10
- package/scripts/sync-version.js +4 -12
- package/scripts/validate-schema.ts +2 -1
- 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.6-dev/ossa-0.2.6-dev.schema.json → v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/spec/v0.2.9/a2a-protocol.md +1337 -0
- package/spec/v0.2.9/agent.md +1946 -0
- package/spec/v0.2.9/capabilities/index.yaml +25 -0
- package/spec/v0.2.9/capabilities/memory.yaml +251 -0
- package/spec/v0.2.9/capability-schema.md +576 -0
- package/spec/v0.2.9/compliance-profiles.md +533 -0
- package/spec/v0.2.9/conformance-testing.md +1527 -0
- package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
- package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
- package/spec/v0.2.9/runtime-semantics.md +464 -0
- package/spec/v0.2.9/security-model.md +1245 -0
- package/spec/v0.2.9/semantic-conventions.md +347 -0
- package/spec/v0.2.9/types.ts +522 -0
- package/test-results/junit.xml +337 -0
- package/.github/workflows/pr-comment.yml +0 -33
- package/bin/validate-ossa-0.2.5-RC.ts +0 -244
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +0 -1696
- package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
- 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/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
- package/website/Dockerfile +0 -30
- package/website/app/about/page.tsx +0 -304
- 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 -410
- package/website/app/examples/page.tsx +0 -133
- package/website/app/globals.scss +0 -370
- 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 -686
- package/website/app/page.tsx.bak +0 -679
- package/website/app/page.tsx.bak2 +0 -649
- 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 -172
- package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
- package/website/components/schema/SchemaExplorer.tsx +0 -213
- package/website/components/ui/Badge.tsx +0 -82
- package/website/components/ui/Button.tsx +0 -116
- package/website/components/ui/Card.tsx +0 -167
- package/website/components/ui/Checkbox.tsx +0 -141
- package/website/components/ui/Input.tsx +0 -169
- package/website/components/ui/Radio.tsx +0 -141
- package/website/components/ui/Select.tsx +0 -182
- package/website/components/ui/Tag.tsx +0 -158
- package/website/components/ui/Textarea.tsx +0 -195
- package/website/components/ui/index.ts +0 -11
- 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/adapters/openai-adapter.md +0 -693
- package/website/content/docs/agents/catalog.md +0 -28
- package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
- package/website/content/docs/api-reference/index.md +0 -38
- package/website/content/docs/api-reference/ossa-core-api.md +0 -634
- package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
- package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
- 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/cli-reference/index.md +0 -111
- package/website/content/docs/cli-reference/ossa-agents.md +0 -70
- package/website/content/docs/cli-reference/ossa-export.md +0 -56
- package/website/content/docs/cli-reference/ossa-generate.md +0 -66
- package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
- package/website/content/docs/cli-reference/ossa-import.md +0 -56
- package/website/content/docs/cli-reference/ossa-init.md +0 -57
- package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
- package/website/content/docs/cli-reference/ossa-run.md +0 -66
- package/website/content/docs/cli-reference/ossa-schema.md +0 -57
- package/website/content/docs/cli-reference/ossa-setup.md +0 -57
- package/website/content/docs/cli-reference/ossa-validate.md +0 -66
- package/website/content/docs/configuration/index.md +0 -97
- package/website/content/docs/contributing.md +0 -599
- package/website/content/docs/deployment/github-mirroring.md +0 -924
- package/website/content/docs/documentation.md +0 -100
- package/website/content/docs/ecosystem/framework-support.md +0 -1361
- package/website/content/docs/ecosystem/overview.md +0 -366
- package/website/content/docs/errors/index.md +0 -10
- package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
- package/website/content/docs/examples/catalog.md +0 -300
- package/website/content/docs/for-audiences/students-researchers.md +0 -122
- package/website/content/docs/getting-started/index.md +0 -92
- package/website/content/docs/getting-started/installation.md +0 -155
- 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/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/releases/v0.2.6.md +0 -99
- package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
- package/website/content/docs/schema-reference/agent-id.md +0 -52
- package/website/content/docs/schema-reference/agent-name.md +0 -50
- package/website/content/docs/schema-reference/agent-role.md +0 -54
- package/website/content/docs/schema-reference/agent-spec.md +0 -406
- package/website/content/docs/schema-reference/agent-version.md +0 -50
- 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 -45
- 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/types-reference/index.md +0 -105
- 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/dev.sh +0 -53
- package/website/docker-compose.dev.yml +0 -36
- package/website/lib/version.ts +0 -35
- package/website/lib/versions.json +0 -103
- 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/_spacing.scss +0 -453
- package/website/styles/_tokens.scss +0 -245
- package/website/styles/_typography.scss +0 -361
- package/website/styles/_variables.scss +0 -287
- package/website/tailwind.config.ts +0 -170
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "VERSIONING"
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# OSSA Versioning Strategy
|
|
6
|
-
|
|
7
|
-
## Semantic Versioning with Semantic-Release
|
|
8
|
-
|
|
9
|
-
OSSA uses **semantic versioning** (semver 2.0.0) with **automated releases** via semantic-release.
|
|
10
|
-
|
|
11
|
-
### Version Format
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Examples:
|
|
18
|
-
- `0.2.2` - Stable patch release
|
|
19
|
-
- `0.3.0` - Minor feature release
|
|
20
|
-
- `1.0.0` - Major release with breaking changes
|
|
21
|
-
- `0.3.0-dev.1` - Development pre-release
|
|
22
|
-
- `1.0.0-beta.2` - Beta pre-release
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Branching Strategy
|
|
27
|
-
|
|
28
|
-
### `development` Branch
|
|
29
|
-
- **Purpose**: Active development and testing
|
|
30
|
-
- **Releases**: Pre-release versions with `-dev` tag
|
|
31
|
-
- **Version bumps**: Automatic via semantic-release
|
|
32
|
-
- **Example versions**: `0.2.3-dev.0`, `0.2.3-dev.1`
|
|
33
|
-
|
|
34
|
-
### `main` Branch
|
|
35
|
-
- **Purpose**: Stable production releases
|
|
36
|
-
- **Releases**: Stable versions (no pre-release tag)
|
|
37
|
-
- **Version bumps**: Automatic via semantic-release
|
|
38
|
-
- **Example versions**: `0.2.3`, `0.3.0`, `1.0.0`
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Commit Message Convention
|
|
43
|
-
|
|
44
|
-
OSSA uses **Angular commit message format** for semantic-release:
|
|
45
|
-
|
|
46
|
-
### Commit Types
|
|
47
|
-
|
|
48
|
-
| Type | Description | Version Bump | Example |
|
|
49
|
-
|------|-------------|--------------|---------|
|
|
50
|
-
| `feat` | New feature | MINOR (0.x.0) | `feat: add MCP bridge support` |
|
|
51
|
-
| `fix` | Bug fix | PATCH (0.0.x) | `fix: resolve schema validation error` |
|
|
52
|
-
| `docs` | Documentation | PATCH* (0.0.x) | `docs: update README with examples` |
|
|
53
|
-
| `refactor` | Code refactoring | PATCH (0.0.x) | `refactor: simplify validation service` |
|
|
54
|
-
| `perf` | Performance improvement | PATCH (0.0.x) | `perf: optimize schema caching` |
|
|
55
|
-
| `test` | Test changes | No release | `test: add kagent bridge tests` |
|
|
56
|
-
| `chore` | Maintenance | PATCH* (0.0.x) | `chore(deps): update dependencies` |
|
|
57
|
-
| `ci` | CI/CD changes | No release | `ci: add semantic-release job` |
|
|
58
|
-
| `build` | Build system | No release | `build: update tsconfig` |
|
|
59
|
-
| `style` | Code style | No release | `style: format with prettier` |
|
|
60
|
-
|
|
61
|
-
\* Only triggers release with specific scopes (e.g., `docs(README)`, `chore(deps)`)
|
|
62
|
-
|
|
63
|
-
### Breaking Changes
|
|
64
|
-
|
|
65
|
-
**MAJOR version bump (x.0.0)**
|
|
66
|
-
|
|
67
|
-
Add `BREAKING CHANGE:` in commit body or footer:
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
feat: redesign agent schema structure
|
|
71
|
-
|
|
72
|
-
BREAKING CHANGE: Renamed `spec` to `agent` in manifest structure.
|
|
73
|
-
Migration guide available at docs/migration-v1.md
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## How Versions are Determined
|
|
79
|
-
|
|
80
|
-
### Automatic Version Calculation
|
|
81
|
-
|
|
82
|
-
Semantic-release analyzes commits since the last release:
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
Last release: v0.2.2
|
|
86
|
-
New commits:
|
|
87
|
-
- fix: resolve validation error → PATCH
|
|
88
|
-
- feat: add KAgent bridge support → MINOR (overrides PATCH)
|
|
89
|
-
- docs: update README → No change
|
|
90
|
-
|
|
91
|
-
Next version: v0.3.0
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### Development Pre-releases
|
|
95
|
-
|
|
96
|
-
On `development` branch:
|
|
97
|
-
```
|
|
98
|
-
Current: v0.2.2
|
|
99
|
-
Commits: feat, fix, docs
|
|
100
|
-
Result: v0.3.0-dev.0 (first dev release)
|
|
101
|
-
v0.3.0-dev.1 (second dev release)
|
|
102
|
-
...
|
|
103
|
-
v0.3.0 (when merged to main)
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## Release Process
|
|
109
|
-
|
|
110
|
-
### Automated (Recommended)
|
|
111
|
-
|
|
112
|
-
1. **Commit with conventional format**:
|
|
113
|
-
```bash
|
|
114
|
-
git commit -m "feat: add semantic-release automation"
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
2. **Push to branch**:
|
|
118
|
-
```bash
|
|
119
|
-
git push origin development # Creates v0.3.0-dev.0
|
|
120
|
-
# OR
|
|
121
|
-
git push origin main # Creates v0.3.0
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
3. **Semantic-release automatically**:
|
|
125
|
-
- Analyzes commits
|
|
126
|
-
- Determines version bump
|
|
127
|
-
- Updates `package.json`
|
|
128
|
-
- Updates `CHANGELOG.md`
|
|
129
|
-
- Creates git tag
|
|
130
|
-
- Creates GitLab release
|
|
131
|
-
- Publishes to GitLab Packages
|
|
132
|
-
|
|
133
|
-
### Manual Release (Not Recommended)
|
|
134
|
-
|
|
135
|
-
Only use for emergency hotfixes:
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
npm version patch # or minor, major
|
|
139
|
-
git push --follow-tags
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## Schema Versioning
|
|
145
|
-
|
|
146
|
-
OSSA schema versions follow specification versions:
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
Package Version → Schema Directory
|
|
150
|
-
-----------------------------------------
|
|
151
|
-
v0.2.2 → spec/v0.2.6/
|
|
152
|
-
v0.3.0 → spec/v0.2.6/
|
|
153
|
-
v1.0.0 → spec/v0.2.6/
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### Schema Compatibility
|
|
157
|
-
|
|
158
|
-
- **MAJOR**: Breaking schema changes (incompatible agents)
|
|
159
|
-
- **MINOR**: Backward-compatible additions (new optional fields)
|
|
160
|
-
- **PATCH**: Bug fixes, clarifications (no schema changes)
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
## Publishing Workflow
|
|
165
|
-
|
|
166
|
-
### Development Branch
|
|
167
|
-
|
|
168
|
-
```mermaid
|
|
169
|
-
graph LR
|
|
170
|
-
A[Commit to development] --> B[CI runs tests]
|
|
171
|
-
B --> C[semantic-release runs]
|
|
172
|
-
C --> D[Creates v0.3.0-dev.0]
|
|
173
|
-
D --> E[Publishes to GitLab Packages with 'development' tag]
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Main Branch
|
|
177
|
-
|
|
178
|
-
```mermaid
|
|
179
|
-
graph LR
|
|
180
|
-
A[Merge to main] --> B[CI runs tests]
|
|
181
|
-
B --> C[semantic-release runs]
|
|
182
|
-
C --> D[Creates v0.3.0]
|
|
183
|
-
D --> E[Publishes to GitLab Packages with 'latest' tag]
|
|
184
|
-
E --> F[Manual trigger to publish to npmjs.com]
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Version History
|
|
190
|
-
|
|
191
|
-
| Version | Release Date | Type | Highlights |
|
|
192
|
-
|---------|--------------|------|------------|
|
|
193
|
-
| 0.2.2 | 2025-10-28 | Patch | Schema fixes, CI improvements |
|
|
194
|
-
| 0.2.0 | 2025-10-27 | Minor | Added KAgent bridge, MCP tools |
|
|
195
|
-
| 0.1.9 | 2024-XX-XX | Minor | Extensions, taxonomy, observability |
|
|
196
|
-
| 0.1.8 | 2024-XX-XX | Minor | Initial stable release |
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## Configuration Files
|
|
201
|
-
|
|
202
|
-
### `.releaserc.json`
|
|
203
|
-
Semantic-release configuration:
|
|
204
|
-
- Commit analysis rules
|
|
205
|
-
- Changelog generation
|
|
206
|
-
- GitLab release creation
|
|
207
|
-
- npm publishing settings
|
|
208
|
-
|
|
209
|
-
### `.gitlab-ci.yml`
|
|
210
|
-
CI/CD pipeline:
|
|
211
|
-
- `semantic-release:development` job
|
|
212
|
-
- `semantic-release:main` job
|
|
213
|
-
- `publish:gitlab-packages` job
|
|
214
|
-
- `publish:npmjs:manual` job
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## FAQ
|
|
219
|
-
|
|
220
|
-
### Q: How do I create a pre-release?
|
|
221
|
-
|
|
222
|
-
**A**: Commit to `development` branch with conventional commits:
|
|
223
|
-
```bash
|
|
224
|
-
git checkout development
|
|
225
|
-
git commit -m "feat: experimental MCP bridge"
|
|
226
|
-
git push origin development
|
|
227
|
-
# Creates v0.3.0-dev.0
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
### Q: How do I create a stable release?
|
|
231
|
-
|
|
232
|
-
**A**: Merge `development` to `main`:
|
|
233
|
-
```bash
|
|
234
|
-
git checkout main
|
|
235
|
-
git merge development --no-ff
|
|
236
|
-
git push origin main
|
|
237
|
-
# Creates v0.3.0
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### Q: How do I force a specific version?
|
|
241
|
-
|
|
242
|
-
**A**: Use commit message with `BREAKING CHANGE:` for major, or scope for minor:
|
|
243
|
-
```bash
|
|
244
|
-
# Force major version
|
|
245
|
-
git commit -m "feat: new schema format
|
|
246
|
-
|
|
247
|
-
BREAKING CHANGE: Incompatible with v0.x agents"
|
|
248
|
-
|
|
249
|
-
# Force minor version
|
|
250
|
-
git commit -m "feat: add new optional field"
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
### Q: Can I skip a release?
|
|
254
|
-
|
|
255
|
-
**A**: Yes, add `[skip ci]` to commit message:
|
|
256
|
-
```bash
|
|
257
|
-
git commit -m "chore: update docs [skip ci]"
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
### Q: How do I publish to npmjs.com?
|
|
261
|
-
|
|
262
|
-
**A**: Semantic-release creates the tag and GitLab release. Then manually trigger the `publish:npmjs:manual` job in GitLab CI.
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
## Best Practices
|
|
267
|
-
|
|
268
|
-
1. ✅ **Always use conventional commits** - Enables automation
|
|
269
|
-
2. ✅ **Write clear commit messages** - Appears in CHANGELOG
|
|
270
|
-
3. ✅ **One feature per commit** - Easier to track changes
|
|
271
|
-
4. ✅ **Test on development first** - Use pre-releases
|
|
272
|
-
5. ✅ **Review CHANGELOG** - Before merging to main
|
|
273
|
-
6. ❌ **Don't manually edit package.json version** - Let semantic-release handle it
|
|
274
|
-
7. ❌ **Don't create tags manually** - Semantic-release does this
|
|
275
|
-
8. ❌ **Don't skip tests** - CI must pass for release
|
|
276
|
-
|
|
277
|
-
---
|
|
278
|
-
|
|
279
|
-
## Support
|
|
280
|
-
|
|
281
|
-
- **Documentation**: [docs/](../docs/)
|
|
282
|
-
- **Issues**: https://github.com/blueflyio/openstandardagents/issues
|
|
283
|
-
- **Releases**: https://github.com/blueflyio/openstandardagents/releases
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
**Last Updated**: 2025-10-28
|
|
288
|
-
**Version**: 0.2.2
|
package/website/dev.sh
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# OSSA Website - Dev Server with OrbStack
|
|
3
|
-
# Auto-detects worktree and sets unique domain
|
|
4
|
-
#
|
|
5
|
-
# Usage:
|
|
6
|
-
# cd website && ./dev.sh # Start dev server
|
|
7
|
-
# cd website && ./dev.sh down # Stop dev server
|
|
8
|
-
# cd website && ./dev.sh logs # View logs
|
|
9
|
-
|
|
10
|
-
set -e
|
|
11
|
-
|
|
12
|
-
# Detect if we're in a worktree or main repo
|
|
13
|
-
# Structure: /worktrees/<worktree-name>/website or /openstandardagents/website
|
|
14
|
-
REPO_DIR=$(dirname "$PWD")
|
|
15
|
-
REPO_NAME=$(basename "$REPO_DIR")
|
|
16
|
-
PARENT_OF_REPO=$(basename "$(dirname "$REPO_DIR")")
|
|
17
|
-
|
|
18
|
-
# Determine domain based on location
|
|
19
|
-
if [ "$PARENT_OF_REPO" = "worktrees" ]; then
|
|
20
|
-
# In a worktree: use worktree name
|
|
21
|
-
DOMAIN="$REPO_NAME"
|
|
22
|
-
elif [ "$REPO_NAME" = "openstandardagents" ]; then
|
|
23
|
-
# In main repo: ossa.orb.local
|
|
24
|
-
DOMAIN="ossa"
|
|
25
|
-
else
|
|
26
|
-
DOMAIN="$REPO_NAME"
|
|
27
|
-
fi
|
|
28
|
-
|
|
29
|
-
export OSSA_DOMAIN="$DOMAIN"
|
|
30
|
-
|
|
31
|
-
echo "🌐 Domain: https://${DOMAIN}.orb.local"
|
|
32
|
-
echo ""
|
|
33
|
-
|
|
34
|
-
case "${1:-up}" in
|
|
35
|
-
up|start)
|
|
36
|
-
docker compose -f docker-compose.dev.yml up -d
|
|
37
|
-
echo ""
|
|
38
|
-
echo "✅ Dev server starting at https://${DOMAIN}.orb.local"
|
|
39
|
-
echo " Run './dev.sh logs' to view output"
|
|
40
|
-
;;
|
|
41
|
-
down|stop)
|
|
42
|
-
docker compose -f docker-compose.dev.yml down
|
|
43
|
-
;;
|
|
44
|
-
logs)
|
|
45
|
-
docker compose -f docker-compose.dev.yml logs -f
|
|
46
|
-
;;
|
|
47
|
-
restart)
|
|
48
|
-
docker compose -f docker-compose.dev.yml restart
|
|
49
|
-
;;
|
|
50
|
-
*)
|
|
51
|
-
echo "Usage: ./dev.sh [up|down|logs|restart]"
|
|
52
|
-
;;
|
|
53
|
-
esac
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# OSSA Website - Development with OrbStack
|
|
2
|
-
# Works from any worktree - domain derived from parent directory name
|
|
3
|
-
#
|
|
4
|
-
# Usage:
|
|
5
|
-
# cd website && docker compose -f docker-compose.dev.yml up
|
|
6
|
-
#
|
|
7
|
-
# Domains:
|
|
8
|
-
# /openstandardagents/website → ossa.orb.local (main repo)
|
|
9
|
-
# /worktrees/website-design → website-design.orb.local
|
|
10
|
-
# /worktrees/ossa-97-sync-cli → ossa-97-sync-cli.orb.local
|
|
11
|
-
|
|
12
|
-
services:
|
|
13
|
-
ossa-dev:
|
|
14
|
-
image: node:22-alpine
|
|
15
|
-
working_dir: /app
|
|
16
|
-
command: sh -c "npm install --legacy-peer-deps && npm run dev"
|
|
17
|
-
ports:
|
|
18
|
-
- "3000"
|
|
19
|
-
volumes:
|
|
20
|
-
- .:/app
|
|
21
|
-
- node_modules:/app/node_modules
|
|
22
|
-
- ../examples:/examples:ro
|
|
23
|
-
environment:
|
|
24
|
-
- NODE_ENV=development
|
|
25
|
-
- WATCHPACK_POLLING=true
|
|
26
|
-
labels:
|
|
27
|
-
# OrbStack auto-domain: uses parent directory name
|
|
28
|
-
- "dev.orbstack.domains=${OSSA_DOMAIN:-ossa}.orb.local"
|
|
29
|
-
healthcheck:
|
|
30
|
-
test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000"]
|
|
31
|
-
interval: 10s
|
|
32
|
-
timeout: 5s
|
|
33
|
-
retries: 3
|
|
34
|
-
|
|
35
|
-
volumes:
|
|
36
|
-
node_modules:
|
package/website/lib/version.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
// OSSA version constants
|
|
2
|
-
// AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
3
|
-
// Update package.json version instead, then run: npm run sync-version
|
|
4
|
-
|
|
5
|
-
import versionsData from './versions.json';
|
|
6
|
-
|
|
7
|
-
export const OSSA_VERSION = "0.2.6";
|
|
8
|
-
export const OSSA_VERSION_TAG = `v${OSSA_VERSION}`;
|
|
9
|
-
export const OSSA_API_VERSION = `ossa/v${OSSA_VERSION}`;
|
|
10
|
-
export const OSSA_SCHEMA_VERSION = OSSA_VERSION;
|
|
11
|
-
|
|
12
|
-
// Aliases for backward compatibility
|
|
13
|
-
export const STABLE_VERSION = OSSA_VERSION;
|
|
14
|
-
export const STABLE_VERSION_TAG = OSSA_VERSION_TAG;
|
|
15
|
-
|
|
16
|
-
// Version data from versions.json
|
|
17
|
-
export const STABLE_VERSIONS = versionsData.all.filter((v: any) => v.type === 'stable');
|
|
18
|
-
export const DEV_VERSIONS = versionsData.all.filter((v: any) => v.type === 'dev' || v.type === 'prerelease');
|
|
19
|
-
export const ALL_VERSIONS = versionsData.all;
|
|
20
|
-
export const DEV_VERSION_TAG = versionsData.dev ? `v${versionsData.dev}` : undefined;
|
|
21
|
-
|
|
22
|
-
// Utility to get version info
|
|
23
|
-
export function getVersionInfo(version: string): any {
|
|
24
|
-
return versionsData.all.find((v: any) => v.version === version);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Utility to get schema path
|
|
28
|
-
export function getSchemaPath(ver = OSSA_VERSION): string {
|
|
29
|
-
return `/schemas/ossa-${ver}.schema.json`;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// Utility to get spec path
|
|
33
|
-
export function getSpecPath(ver = OSSA_VERSION): string {
|
|
34
|
-
return `/spec/v${ver}/ossa-${ver}.schema.json`;
|
|
35
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"stable": "0.2.5-RC",
|
|
3
|
-
"latest": "0.2.5-RC",
|
|
4
|
-
"dev": "0.2.6-dev",
|
|
5
|
-
"all": [
|
|
6
|
-
{
|
|
7
|
-
"version": "0.2.4",
|
|
8
|
-
"tag": "v0.2.4",
|
|
9
|
-
"apiVersion": "ossa/v0.2.4",
|
|
10
|
-
"type": "stable",
|
|
11
|
-
"published": true,
|
|
12
|
-
"available": true
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"version": "0.2.5-RC",
|
|
16
|
-
"tag": "v0.2.5-RC",
|
|
17
|
-
"apiVersion": "ossa/v0.2.5-RC",
|
|
18
|
-
"type": "stable",
|
|
19
|
-
"published": true,
|
|
20
|
-
"available": true
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"version": "0.2.7",
|
|
24
|
-
"tag": "v0.2.7",
|
|
25
|
-
"apiVersion": "ossa/v0.2.7",
|
|
26
|
-
"type": "stable",
|
|
27
|
-
"published": false,
|
|
28
|
-
"available": false
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"version": "0.2.6",
|
|
32
|
-
"tag": "v0.2.6",
|
|
33
|
-
"apiVersion": "ossa/v0.2.6",
|
|
34
|
-
"type": "stable",
|
|
35
|
-
"published": false,
|
|
36
|
-
"available": true,
|
|
37
|
-
"schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.6/ossa-0.2.6.schema.json"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"version": "0.2.5",
|
|
41
|
-
"tag": "v0.2.5",
|
|
42
|
-
"apiVersion": "ossa/v0.2.5",
|
|
43
|
-
"type": "stable",
|
|
44
|
-
"published": false,
|
|
45
|
-
"available": true,
|
|
46
|
-
"schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.5/ossa-0.2.5.schema.json"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"version": "0.2.3",
|
|
50
|
-
"tag": "v0.2.3",
|
|
51
|
-
"apiVersion": "ossa/v0.2.3",
|
|
52
|
-
"type": "stable",
|
|
53
|
-
"published": false,
|
|
54
|
-
"available": true,
|
|
55
|
-
"schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.3/ossa-0.2.3.schema.json"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"version": "0.2.2",
|
|
59
|
-
"tag": "v0.2.2",
|
|
60
|
-
"apiVersion": "ossa/v0.2.2",
|
|
61
|
-
"type": "stable",
|
|
62
|
-
"published": false,
|
|
63
|
-
"available": true,
|
|
64
|
-
"schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.2/ossa-0.2.2.schema.json"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"version": "0.2.1",
|
|
68
|
-
"tag": "v0.2.1",
|
|
69
|
-
"apiVersion": "ossa/v0.2.1",
|
|
70
|
-
"type": "stable",
|
|
71
|
-
"published": false,
|
|
72
|
-
"available": true,
|
|
73
|
-
"schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.1/ossa-0.2.1.schema.json"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"version": "0.2.0",
|
|
77
|
-
"tag": "v0.2.0",
|
|
78
|
-
"apiVersion": "ossa/v0.2.0",
|
|
79
|
-
"type": "stable",
|
|
80
|
-
"published": false,
|
|
81
|
-
"available": true,
|
|
82
|
-
"schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.0/ossa-0.2.0.schema.json"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"version": "0.1.9",
|
|
86
|
-
"tag": "v0.1.9",
|
|
87
|
-
"apiVersion": "ossa/v0.1.9",
|
|
88
|
-
"type": "stable",
|
|
89
|
-
"published": true,
|
|
90
|
-
"available": true
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"version": "0.2.6-dev",
|
|
94
|
-
"tag": "v0.2.6-dev",
|
|
95
|
-
"apiVersion": "ossa/v0.2.6-dev",
|
|
96
|
-
"type": "dev",
|
|
97
|
-
"published": false,
|
|
98
|
-
"available": true,
|
|
99
|
-
"schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json"
|
|
100
|
-
}
|
|
101
|
-
],
|
|
102
|
-
"fallbackVersion": "0.2.3"
|
|
103
|
-
}
|
package/website/next.config.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { NextConfig } from 'next';
|
|
2
|
-
|
|
3
|
-
const nextConfig: NextConfig = {
|
|
4
|
-
output: 'export',
|
|
5
|
-
distDir: 'out',
|
|
6
|
-
trailingSlash: true,
|
|
7
|
-
images: {
|
|
8
|
-
unoptimized: true
|
|
9
|
-
},
|
|
10
|
-
eslint: {
|
|
11
|
-
ignoreDuringBuilds: true,
|
|
12
|
-
},
|
|
13
|
-
typescript: {
|
|
14
|
-
ignoreBuildErrors: true,
|
|
15
|
-
},
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default nextConfig;
|
package/website/nginx.conf
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
server {
|
|
2
|
-
listen 80;
|
|
3
|
-
server_name localhost;
|
|
4
|
-
root /usr/share/nginx/html;
|
|
5
|
-
index index.html;
|
|
6
|
-
|
|
7
|
-
# Enable gzip compression
|
|
8
|
-
gzip on;
|
|
9
|
-
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
|
|
10
|
-
|
|
11
|
-
# Security headers
|
|
12
|
-
add_header X-Frame-Options "SAMEORIGIN" always;
|
|
13
|
-
add_header X-Content-Type-Options "nosniff" always;
|
|
14
|
-
add_header X-XSS-Protection "1; mode=block" always;
|
|
15
|
-
|
|
16
|
-
# Serve static files
|
|
17
|
-
location / {
|
|
18
|
-
try_files $uri $uri.html $uri/ =404;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
# Cache static assets
|
|
22
|
-
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
|
|
23
|
-
expires 1y;
|
|
24
|
-
add_header Cache-Control "public, immutable";
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
# Handle 404 errors
|
|
28
|
-
error_page 404 /404.html;
|
|
29
|
-
location = /404.html {
|
|
30
|
-
internal;
|
|
31
|
-
}
|
|
32
|
-
}
|