@activatus/code-standards 0.0.0-stage → 2.0.0
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/README.md +200 -2
- package/docs/Guides/_category_.json +4 -0
- package/docs/Guides/component-library-workflow.md +182 -0
- package/docs/Guides/migrating.md +144 -0
- package/docs/Guides/setup.md +130 -0
- package/docs/Standards/_category_.json +4 -0
- package/docs/Standards/agent-skills.md +125 -0
- package/docs/Standards/agent-specs.md +89 -0
- package/docs/Standards/branch-naming.md +66 -0
- package/docs/Standards/conventional-commits.md +189 -0
- package/docs/Standards/direnv.mdx +249 -0
- package/docs/Standards/documentation.md +311 -0
- package/docs/Standards/editorconfig.md +72 -0
- package/docs/Standards/eslint.md +709 -0
- package/docs/Standards/human-readable-names.md +234 -0
- package/docs/Standards/lint-errors.md +139 -0
- package/docs/Standards/prettier.md +97 -0
- package/docs/Standards/readable-code.md +540 -0
- package/docs/Standards/stylelint.md +178 -0
- package/docs/Standards/styling.md +284 -0
- package/docs/Standards/tech-stack.md +156 -0
- package/docs/Structure/_category_.json +4 -0
- package/docs/Structure/api-routes.md +118 -0
- package/docs/Structure/component-organization.md +519 -0
- package/docs/Structure/folder-structure.md +353 -0
- package/docs/Structure/import-organization.md +158 -0
- package/docs/Structure/naming-conventions.md +336 -0
- package/docs/design-system-components.md +117 -0
- package/docs/intro.md +46 -0
- package/docs/ontology.md +132 -0
- package/docs/templates.mdx +419 -0
- package/docs/version-history.md +211 -0
- package/package.json +56 -3
- package/static/templates/.commitlintrc.json +3 -0
- package/static/templates/.editorconfig +28 -0
- package/static/templates/.envrc +25 -0
- package/static/templates/.nvmrc +1 -0
- package/static/templates/AGENTS.md +160 -0
- package/static/templates/decision-doc.md +19 -0
- package/static/templates/docs/ai/agent-harness.md +17 -0
- package/static/templates/docs/ai/agents.md +17 -0
- package/static/templates/docs/ai/architecture.md +17 -0
- package/static/templates/docs/ai/context.md +17 -0
- package/static/templates/docs/ai/model-routing.md +17 -0
- package/static/templates/docs/ai/models.md +17 -0
- package/static/templates/docs/ai/retrieval.md +17 -0
- package/static/templates/docs/ai/tools.md +17 -0
- package/static/templates/docs/architecture/authentication.md +17 -0
- package/static/templates/docs/architecture/backend.md +17 -0
- package/static/templates/docs/architecture/background-jobs.md +17 -0
- package/static/templates/docs/architecture/backups.md +17 -0
- package/static/templates/docs/architecture/caching.md +17 -0
- package/static/templates/docs/architecture/ci-cd.md +17 -0
- package/static/templates/docs/architecture/disaster-recovery.md +17 -0
- package/static/templates/docs/architecture/environments.md +17 -0
- package/static/templates/docs/architecture/frontend.md +17 -0
- package/static/templates/docs/architecture/hosting.md +17 -0
- package/static/templates/docs/architecture/observability.md +17 -0
- package/static/templates/docs/architecture/realtime.md +17 -0
- package/static/templates/docs/architecture/search.md +17 -0
- package/static/templates/docs/architecture/services.md +17 -0
- package/static/templates/docs/architecture/state-management.md +17 -0
- package/static/templates/docs/architecture/storage.md +17 -0
- package/static/templates/docs/architecture/system.md +17 -0
- package/static/templates/docs/business/buying-trigger.md +17 -0
- package/static/templates/docs/business/customer-value.md +17 -0
- package/static/templates/docs/business/customer.md +17 -0
- package/static/templates/docs/business/defensibility.md +17 -0
- package/static/templates/docs/business/growth.md +17 -0
- package/static/templates/docs/business/pricing.md +17 -0
- package/static/templates/docs/business/revenue-model.md +17 -0
- package/static/templates/docs/business/unit-economics.md +17 -0
- package/static/templates/docs/data/analytics.md +17 -0
- package/static/templates/docs/data/audit.md +17 -0
- package/static/templates/docs/data/database.md +17 -0
- package/static/templates/docs/data/indexing.md +17 -0
- package/static/templates/docs/data/migrations.md +17 -0
- package/static/templates/docs/data/model.md +17 -0
- package/static/templates/docs/data/retention.md +17 -0
- package/static/templates/docs/data/schema.md +17 -0
- package/static/templates/docs/deployment/approval.md +17 -0
- package/static/templates/docs/deployment/live-verification.md +17 -0
- package/static/templates/docs/deployment/process.md +17 -0
- package/static/templates/docs/deployment/rollback.md +17 -0
- package/static/templates/docs/design/design-system.md +17 -0
- package/static/templates/docs/design/errors.md +17 -0
- package/static/templates/docs/design/feedback.md +17 -0
- package/static/templates/docs/design/interactions.md +17 -0
- package/static/templates/docs/design/layout.md +17 -0
- package/static/templates/docs/design/navigation.md +17 -0
- package/static/templates/docs/design/principles.md +17 -0
- package/static/templates/docs/design/responsive.md +17 -0
- package/static/templates/docs/development/branching.md +17 -0
- package/static/templates/docs/development/code-quality.md +17 -0
- package/static/templates/docs/development/coding-standards.md +17 -0
- package/static/templates/docs/development/commits.md +17 -0
- package/static/templates/docs/development/merge-strategy.md +17 -0
- package/static/templates/docs/development/process.md +17 -0
- package/static/templates/docs/development/pull-requests.md +17 -0
- package/static/templates/docs/experience/accessibility.md +17 -0
- package/static/templates/docs/experience/aha-moment.md +17 -0
- package/static/templates/docs/experience/anti-experience.md +17 -0
- package/static/templates/docs/experience/friction.md +17 -0
- package/static/templates/docs/experience/outcomes.md +17 -0
- package/static/templates/docs/experience/principles.md +17 -0
- package/static/templates/docs/experience/retention.md +17 -0
- package/static/templates/docs/experience/sharing.md +17 -0
- package/static/templates/docs/overview/how-it-works.md +17 -0
- package/static/templates/docs/overview/what-is-it.md +17 -0
- package/static/templates/docs/overview/writing-docs.md +16 -0
- package/static/templates/docs/pitch/alternatives.md +17 -0
- package/static/templates/docs/pitch/assumptions.md +17 -0
- package/static/templates/docs/pitch/audience.md +17 -0
- package/static/templates/docs/pitch/concept.md +17 -0
- package/static/templates/docs/pitch/differentiators.md +17 -0
- package/static/templates/docs/pitch/outcomes.md +17 -0
- package/static/templates/docs/pitch/problem.md +17 -0
- package/static/templates/docs/pitch/product-market-fit.md +17 -0
- package/static/templates/docs/pitch/success-criteria.md +17 -0
- package/static/templates/docs/pitch/validation.md +17 -0
- package/static/templates/docs/pitch/value-proposition.md +17 -0
- package/static/templates/docs/pitch/vision.md +17 -0
- package/static/templates/docs/scope/core.md +17 -0
- package/static/templates/docs/scope/exclusions.md +17 -0
- package/static/templates/docs/scope/future.md +17 -0
- package/static/templates/docs/scope/launch.md +17 -0
- package/static/templates/docs/scope/post-launch.md +17 -0
- package/static/templates/docs/scope/priorities.md +17 -0
- package/static/templates/docs/scope/quality-bar.md +17 -0
- package/static/templates/docs/security/audit.md +17 -0
- package/static/templates/docs/security/data-access.md +17 -0
- package/static/templates/docs/security/logging.md +17 -0
- package/static/templates/docs/security/privacy.md +17 -0
- package/static/templates/docs/security/secrets.md +17 -0
- package/static/templates/docs/security/threat-model.md +17 -0
- package/static/templates/docs/testing/end-to-end.md +17 -0
- package/static/templates/docs/testing/integration.md +17 -0
- package/static/templates/docs/testing/regression.md +17 -0
- package/static/templates/docs/testing/security.md +17 -0
- package/static/templates/docs/testing/strategy.md +17 -0
- package/static/templates/docs/testing/test-data.md +17 -0
- package/static/templates/docs/testing/unit.md +17 -0
- package/static/templates/docs/uat/checks.md +17 -0
- package/static/templates/docs/uat/strategy.md +17 -0
- package/static/templates/docs/users/permissions.md +17 -0
- package/static/templates/docs/users/roles.md +17 -0
- package/static/templates/docs/users/user-types.md +17 -0
- package/static/templates/docs/workflows/assignment.md +17 -0
- package/static/templates/docs/workflows/bugfix.md +17 -0
- package/static/templates/docs/workflows/dependencies.md +17 -0
- package/static/templates/docs/workflows/deployment.md +17 -0
- package/static/templates/docs/workflows/development.md +17 -0
- package/static/templates/docs/workflows/planning.md +17 -0
- package/static/templates/docs/workflows/review.md +17 -0
- package/static/templates/docs/workflows/uat.md +17 -0
- package/static/templates/docsSite/docusaurus.config.ts +119 -0
- package/static/templates/docsSite/gitignore.txt +3 -0
- package/static/templates/docsSite/package.json.txt +42 -0
- package/static/templates/docsSite/pnpm-workspace.yaml +2 -0
- package/static/templates/docsSite/sidebars.ts +8 -0
- package/static/templates/docsSite/src/css/custom.css +1 -0
- package/static/templates/docsSite/src/pages/index.tsx +9 -0
- package/static/templates/docsSite/static/images/logo.svg +4 -0
- package/static/templates/docsSite/tsconfig.json +7 -0
- package/static/templates/eslint/base/eslint.config.mjs +79 -0
- package/static/templates/eslint/nextjs/eslint.config.mjs +137 -0
- package/static/templates/eslint/react/eslint.config.mjs +138 -0
- package/static/templates/eslint/typescript/eslint.config.mjs +126 -0
- package/static/templates/globals.css +16 -0
- package/static/templates/husky/commit-msg +1 -0
- package/static/templates/husky/pre-commit +1 -0
- package/static/templates/next.config.mjs +18 -0
- package/static/templates/prettier.config.js +17 -0
- package/static/templates/skills/codeReview.md +31 -0
- package/static/templates/skills/format.md +18 -0
- package/static/templates/skills/lint.md +21 -0
- package/static/templates/skills/lintFix.md +24 -0
- package/static/templates/skills/securityAudit.md +28 -0
- package/static/templates/skills/test.md +24 -0
- package/static/templates/skills/typescript.md +28 -0
- package/static/templates/skills/updateLayout.md +20 -0
- package/static/templates/stylelint/css/stylelint.config.mjs +28 -0
- package/static/templates/stylelint/scss/stylelint.config.mjs +10 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Security — Privacy
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Security — Secrets
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Security — Threat Model
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Testing — End To End
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Testing — Integration
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Testing — Regression
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Testing — Security
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Testing — Strategy
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Testing — Test Data
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Testing — Unit
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# UAT — Checks
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# UAT — Strategy
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Users — Permissions
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Users — Roles
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Users — User Types
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Workflows — Assignment
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Workflows — Bugfix
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Workflows — Dependencies
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Workflows — Deployment
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Workflows — Development
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Workflows — Planning
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Workflows — Review
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Workflows — UAT
|
|
2
|
+
|
|
3
|
+
> [One line: what this doc decides.]
|
|
4
|
+
|
|
5
|
+
**Status:** Not started · **Updated:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
[What was decided.]
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
[The reasons.]
|
|
14
|
+
|
|
15
|
+
## Related
|
|
16
|
+
|
|
17
|
+
- [Link to related docs with a relative path, e.g. `[Future](../scope/future.md)`]
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import {themes as prismThemes} from 'prism-react-renderer';
|
|
2
|
+
import type {Config} from '@docusaurus/types';
|
|
3
|
+
import type * as Preset from '@docusaurus/preset-classic';
|
|
4
|
+
|
|
5
|
+
const TITLE_SEPARATOR = ' — ';
|
|
6
|
+
const FIRST_GROUP = 'overview';
|
|
7
|
+
|
|
8
|
+
// Each doc is titled "# Group — Menu item". The folder is the menu group and the
|
|
9
|
+
// part after the dash is the menu item. Overview comes first; everything else is alphabetical.
|
|
10
|
+
const generateSidebarItems = async ({defaultSidebarItemsGenerator, docs: pages, ...remainingArguments}) => {
|
|
11
|
+
const items = await defaultSidebarItemsGenerator({docs: pages, ...remainingArguments});
|
|
12
|
+
const titleById = new Map(pages.map((page) => [page.id, page.title]));
|
|
13
|
+
|
|
14
|
+
const labelled = items.map((item) => {
|
|
15
|
+
if (item.type !== 'category') {
|
|
16
|
+
return item;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const children = item.items
|
|
20
|
+
.map((child) => {
|
|
21
|
+
if (child.type !== 'doc') {
|
|
22
|
+
return child;
|
|
23
|
+
}
|
|
24
|
+
const title = titleById.get(child.id) ?? child.id;
|
|
25
|
+
const label = title.includes(TITLE_SEPARATOR) ? title.split(TITLE_SEPARATOR)[1] : title;
|
|
26
|
+
return {...child, label};
|
|
27
|
+
})
|
|
28
|
+
.sort((first, second) => first.label.localeCompare(second.label));
|
|
29
|
+
|
|
30
|
+
const firstDoc = item.items.find((child) => child.type === 'doc');
|
|
31
|
+
const firstTitle = firstDoc ? (titleById.get(firstDoc.id) ?? '') : '';
|
|
32
|
+
const label = firstTitle.includes(TITLE_SEPARATOR) ? firstTitle.split(TITLE_SEPARATOR)[0] : item.label;
|
|
33
|
+
const folder = firstDoc ? firstDoc.id.split('/')[0] : item.label;
|
|
34
|
+
|
|
35
|
+
return {...item, label, items: children, customProps: {folder}};
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
return labelled.sort((first, second) => {
|
|
39
|
+
const firstFolder = first.customProps?.folder ?? '';
|
|
40
|
+
const secondFolder = second.customProps?.folder ?? '';
|
|
41
|
+
if (firstFolder === FIRST_GROUP) {
|
|
42
|
+
return -1;
|
|
43
|
+
}
|
|
44
|
+
if (secondFolder === FIRST_GROUP) {
|
|
45
|
+
return 1;
|
|
46
|
+
}
|
|
47
|
+
return String(first.label).localeCompare(String(second.label));
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// TODO: set the project name
|
|
52
|
+
const PROJECT_NAME = 'Project Name';
|
|
53
|
+
|
|
54
|
+
const config: Config = {
|
|
55
|
+
title: `${PROJECT_NAME} Docs`,
|
|
56
|
+
favicon: 'images/logo.svg',
|
|
57
|
+
|
|
58
|
+
// The docs are only ever served behind the app's /docs route, so this URL is a placeholder.
|
|
59
|
+
url: 'http://localhost:3000',
|
|
60
|
+
baseUrl: '/docs/',
|
|
61
|
+
|
|
62
|
+
// Internal docs must never be indexed by search engines.
|
|
63
|
+
noIndex: true,
|
|
64
|
+
|
|
65
|
+
onBrokenLinks: 'throw',
|
|
66
|
+
|
|
67
|
+
markdown: {
|
|
68
|
+
// Plain .md files are read as CommonMark, so < and { in a doc never break the build.
|
|
69
|
+
format: 'detect',
|
|
70
|
+
mermaid: true,
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
presets: [
|
|
74
|
+
[
|
|
75
|
+
'classic',
|
|
76
|
+
{
|
|
77
|
+
docs: {
|
|
78
|
+
// The Markdown lives in the project's root docs/ folder, not inside this site.
|
|
79
|
+
path: '../docs',
|
|
80
|
+
routeBasePath: '/',
|
|
81
|
+
sidebarPath: './sidebars.ts',
|
|
82
|
+
sidebarItemsGenerator: generateSidebarItems,
|
|
83
|
+
},
|
|
84
|
+
blog: false,
|
|
85
|
+
theme: {
|
|
86
|
+
customCss: './src/css/custom.css',
|
|
87
|
+
},
|
|
88
|
+
} satisfies Preset.Options,
|
|
89
|
+
],
|
|
90
|
+
],
|
|
91
|
+
|
|
92
|
+
themes: [['@getcanary/docusaurus-theme-search-pagefind', {}], '@docusaurus/theme-mermaid'],
|
|
93
|
+
|
|
94
|
+
themeConfig: {
|
|
95
|
+
tableOfContents: {
|
|
96
|
+
minHeadingLevel: 2,
|
|
97
|
+
maxHeadingLevel: 3,
|
|
98
|
+
},
|
|
99
|
+
colorMode: {
|
|
100
|
+
defaultMode: 'light',
|
|
101
|
+
respectPrefersColorScheme: true,
|
|
102
|
+
},
|
|
103
|
+
navbar: {
|
|
104
|
+
title: `${PROJECT_NAME} Docs`,
|
|
105
|
+
logo: {
|
|
106
|
+
alt: 'Logo',
|
|
107
|
+
src: 'images/logo.svg',
|
|
108
|
+
},
|
|
109
|
+
items: [],
|
|
110
|
+
},
|
|
111
|
+
prism: {
|
|
112
|
+
theme: prismThemes.oneLight,
|
|
113
|
+
darkTheme: prismThemes.oneDark,
|
|
114
|
+
additionalLanguages: ['bash', 'json'],
|
|
115
|
+
},
|
|
116
|
+
} satisfies Preset.ThemeConfig,
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export default config;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "docs-site",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"start": "docusaurus start --port 3001 --no-open",
|
|
7
|
+
"build": "docusaurus build",
|
|
8
|
+
"serve": "docusaurus serve --port 3001"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@docusaurus/core": "3.10.2",
|
|
12
|
+
"@docusaurus/preset-classic": "3.10.2",
|
|
13
|
+
"@docusaurus/theme-mermaid": "3.10.2",
|
|
14
|
+
"@getcanary/docusaurus-theme-search-pagefind": "1.0.2",
|
|
15
|
+
"@getcanary/web": "^1.0.0",
|
|
16
|
+
"@mdx-js/react": "^3.0.0",
|
|
17
|
+
"pagefind": "^1.3.0",
|
|
18
|
+
"prism-react-renderer": "^2.3.0",
|
|
19
|
+
"react": "^18.3.1",
|
|
20
|
+
"react-dom": "^18.3.1"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@docusaurus/tsconfig": "3.10.2",
|
|
24
|
+
"@docusaurus/types": "3.10.2",
|
|
25
|
+
"typescript": "~5.6.2"
|
|
26
|
+
},
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=20.0"
|
|
29
|
+
},
|
|
30
|
+
"browserslist": {
|
|
31
|
+
"production": [
|
|
32
|
+
">0.5%",
|
|
33
|
+
"not dead",
|
|
34
|
+
"not op_mini all"
|
|
35
|
+
],
|
|
36
|
+
"development": [
|
|
37
|
+
"last 3 chrome version",
|
|
38
|
+
"last 3 firefox version",
|
|
39
|
+
"last 5 safari version"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* Theme overrides for the docs site. Empty by default: the stock theme is the standard look. */
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import {Redirect} from '@docusaurus/router';
|
|
2
|
+
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
3
|
+
|
|
4
|
+
// The docs have no home page of their own: /docs opens the first Overview doc.
|
|
5
|
+
const Home = () => {
|
|
6
|
+
return <Redirect to={useBaseUrl('/overview/what-is-it')} />;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default Home;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="52" height="52" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg" style="display:block;">
|
|
2
|
+
<rect width="80" height="80" rx="8" fill="#3578E5"/>
|
|
3
|
+
<path fill="#FFF" d="M33.5 16h13L64 64H52.6l-3.3-10H30.7l-3.3 10H16l17.5-48Zm.3 28.6h12.4L40 25.6l-6.2 19Z"/>
|
|
4
|
+
</svg>
|