@erclx/canon 5.33.0 → 5.35.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 +3 -5
- package/claude/.claude-plugin/plugin.json +1 -1
- package/claude/skills/api-design/REQUIREMENT.md +2 -3
- package/claude/skills/api-design/SKILL.md +2 -3
- package/claude/skills/api-design/references/adopted.md +1 -1
- package/claude/skills/auto-ship/references/draft-mark.md +1 -1
- package/claude/skills/canon-cli/SKILL.md +10 -11
- package/claude/skills/canon-feedback/REQUIREMENT.md +1 -0
- package/claude/skills/canon-feedback/SKILL.md +10 -28
- package/claude/skills/canon-feedback/references/template.md +53 -0
- package/claude/skills/canvas-board/SKILL.md +4 -1
- package/claude/skills/canvas-board/references/canvas.md +26 -3
- package/claude/skills/code-craft/REQUIREMENT.md +1 -1
- package/claude/skills/code-craft/SKILL.md +0 -1
- package/claude/skills/create-rule/SKILL.md +1 -1
- package/claude/skills/create-rule/references/rule.md +3 -1
- package/claude/skills/create-skill/SKILL.md +2 -1
- package/claude/skills/create-skill/references/skill-paths.md +12 -15
- package/{standards/standard.md → claude/skills/create-skill/references/skill-reference.md} +50 -45
- package/claude/skills/create-skill/references/skill.md +10 -4
- package/claude/skills/draft-and-pick/SKILL.md +1 -1
- package/claude/skills/git-commit/references/versioning.md +13 -13
- package/claude/skills/git-issue/references/issue.md +4 -1
- package/claude/skills/git-pr/SKILL.md +1 -1
- package/claude/skills/git-pr/references/publish.md +1 -1
- package/claude/skills/review-address/REQUIREMENT.md +1 -1
- package/claude/skills/review-address/SKILL.md +2 -2
- package/claude/skills/review-craft/references/ui.md +1 -1
- package/claude/skills/review-pr/SKILL.md +3 -3
- package/claude/skills/review-pr/references/post.md +1 -1
- package/claude/skills/review-ui/REQUIREMENT.md +1 -1
- package/claude/skills/review-ui/SKILL.md +8 -6
- package/claude/skills/review-ui/references/driving.md +8 -8
- package/claude/skills/review-ui/references/post.md +52 -16
- package/claude/skills/role-orchestrator/REQUIREMENT.md +2 -2
- package/claude/skills/role-orchestrator/SKILL.md +11 -12
- package/claude/skills/role-orchestrator/references/orchestrator-cloud-launch.md +3 -1
- package/claude/skills/role-orchestrator/references/orchestrator-dispatch.md +11 -8
- package/claude/skills/role-orchestrator/references/orchestrator-handback.md +10 -4
- package/claude/skills/role-orchestrator/references/orchestrator-launch.md +11 -2
- package/claude/skills/role-orchestrator/references/orchestrator-poll.md +11 -12
- package/claude/skills/role-orchestrator/references/orchestrator-review-dispatch.md +12 -15
- package/claude/skills/role-orchestrator/references/orchestrator-reviewer-launch.md +6 -4
- package/claude/skills/role-orchestrator/scripts/poll.ts +50 -1
- package/claude/skills/role-reviewer/REQUIREMENT.md +17 -7
- package/claude/skills/role-reviewer/SKILL.md +17 -10
- package/claude/skills/role-worker/REQUIREMENT.md +1 -1
- package/claude/skills/role-worker/SKILL.md +6 -6
- package/claude/skills/session-compact/references/handoff-note.md +1 -1
- package/claude/skills/target-setup/SKILL.md +12 -6
- package/claude/skills/target-setup/references/detect.md +22 -5
- package/claude/skills/test-craft/REQUIREMENT.md +2 -3
- package/claude/skills/test-craft/SKILL.md +15 -3
- package/docs/agents/audits.md +1 -1
- package/docs/agents/canvas.md +5 -1
- package/docs/agents/commands.md +3 -5
- package/docs/agents/counts.md +5 -6
- package/docs/agents/drift-surfaces.md +15 -19
- package/docs/agents/gov-detect.md +47 -0
- package/docs/agents/index.md +6 -4
- package/docs/agents/install-and-sync.md +11 -31
- package/docs/agents/markdown-audit.md +10 -12
- package/docs/agents/migrate.md +1 -1
- package/docs/agents/pr-evidence-layout.md +70 -0
- package/docs/agents/pr-evidence.md +8 -9
- package/docs/agents/pr-frames.md +7 -2
- package/docs/agents/pr-lift.md +132 -0
- package/docs/agents/records-stale.md +1 -1
- package/docs/agents/records-validate.md +11 -23
- package/docs/agents/records.md +1 -1
- package/docs/agents/routing.md +1 -1
- package/docs/agents/rule-citations.md +11 -14
- package/docs/agents/scripting.md +4 -21
- package/docs/agents/state-scoped-risk.md +1 -1
- package/docs/agents/tasks-validate.md +1 -1
- package/docs/agents/teach.md +1 -1
- package/docs/target/index.md +1 -0
- package/docs/target/migrations.md +4 -0
- package/docs/target/projects.md +11 -11
- package/docs/target/scenarios.md +5 -6
- package/docs/target/standards-moved.md +32 -0
- package/docs/target/sync.md +5 -5
- package/docs/workflow/operating-model.md +16 -18
- package/docs/workflow/skill-map.md +1 -1
- package/governance/detect.toml +197 -0
- package/governance/renames.toml +0 -1
- package/governance/rules/code/000-code.md +1 -13
- package/governance/rules/code/010-testing.md +2 -30
- package/governance/rules/ui/400-ui.md +1 -1
- package/governance/rules/ui/480-canvas.md +13 -0
- package/governance/stacks/base.toml +15 -8
- package/governance/stacks/go.toml +2 -0
- package/governance/stacks/node.toml +1 -1
- package/governance/stacks/php.toml +2 -0
- package/governance/stacks/python.toml +1 -1
- package/package.json +1 -4
- package/scripts/core/install-check.sh +2 -3
- package/scripts/core/regen-hero.ts +0 -6
- package/scripts/lib/ui.sh +0 -9
- package/src/audits/catalog.ts +0 -9
- package/src/canvas/arrange.ts +66 -0
- package/src/canvas/capture.ts +20 -6
- package/src/canvas/content.ts +39 -0
- package/src/canvas/fit.ts +238 -0
- package/src/canvas/tokens.ts +28 -10
- package/src/capture/frame-values.ts +2 -32
- package/src/claude/routing.ts +1 -1
- package/src/claude/skills-reach.ts +4 -6
- package/src/cli/help.ts +3 -4
- package/src/cli.ts +0 -2
- package/src/commands/canvas.ts +179 -1
- package/src/commands/gov.ts +149 -10
- package/src/commands/init.ts +1 -1
- package/src/commands/labels.ts +4 -44
- package/src/commands/migrate.ts +1 -1
- package/src/commands/pr.ts +376 -1
- package/src/commands/records.ts +4 -20
- package/src/commands/tooling.ts +2 -4
- package/src/counts/catalogs.ts +0 -6
- package/src/feedback/body.ts +26 -5
- package/src/gate/boundaries.ts +2 -2
- package/src/gate/measures.ts +64 -72
- package/src/gate/sequencer.ts +51 -2
- package/src/gate/stages.ts +3 -22
- package/src/gov/citations.ts +11 -43
- package/src/gov/detect.ts +301 -0
- package/src/gov/list.ts +23 -2
- package/src/gov/stacks.ts +9 -0
- package/src/markdown/bans.ts +1 -1
- package/src/migrate/scratch-evidence.ts +2 -2
- package/src/pr/evidence.ts +218 -45
- package/src/pr/frames.ts +23 -3
- package/src/pr/lift.ts +418 -0
- package/src/pr/rest.ts +3 -0
- package/src/pr/review-scope.ts +76 -0
- package/src/records/validate.ts +6 -194
- package/src/sandbox/equivalence.ts +14 -7
- package/src/sandbox/provision.ts +0 -5
- package/src/secrets/shipped.ts +1 -2
- package/src/serve/static.ts +1 -2
- package/src/shipped/references.ts +29 -80
- package/src/sync/check.ts +18 -14
- package/src/tooling/inject.ts +6 -37
- package/src/tooling/read.ts +2 -3
- package/src/tooling/scan.ts +4 -17
- package/src/tooling/subfolder.ts +2 -66
- package/tooling/base/configs/scripts/verify.json +1 -1
- package/tooling/base/configs/scripts/verify.ts +1 -12
- package/tooling/base/manifest.toml +1 -2
- package/tooling/base/reference.md +10 -16
- package/tooling/base/seeds/.github/workflows/verify.yml +0 -3
- package/tooling/base/seeds/.lintstagedrc +1 -2
- package/tooling/base/seeds/canon/context/ci.md +0 -1
- package/tooling/base/seeds/canon/context/development.md +1 -1
- package/tooling/claude/reference.md +1 -1
- package/tooling/claude/seeds/.claude/hooks/review-post-scan.sh +13 -1
- package/tooling/go/reference.md +1 -1
- package/tooling/php/reference.md +1 -1
- package/tooling/python/reference.md +2 -2
- package/tooling/web/configs/.github/workflows/verify.yml +0 -3
- package/tooling/web/manifest.toml +0 -1
- package/tooling/web/reference.md +2 -4
- package/docs/agents/standards-audit.md +0 -40
- package/governance/rules/tooling/765-spelling.md +0 -19
- package/governance/stacks/astro.toml +0 -2
- package/governance/stacks/nextjs.toml +0 -2
- package/governance/stacks/node-server.toml +0 -2
- package/governance/stacks/python-fastapi.toml +0 -2
- package/governance/stacks/react.toml +0 -2
- package/src/commands/standards.ts +0 -278
- package/src/labels/spelling.ts +0 -120
- package/src/standards/audit.ts +0 -146
- package/src/standards/list.ts +0 -33
- package/src/standards/read.ts +0 -177
- package/src/standards/scope.ts +0 -56
- package/standards/index.md +0 -10
- package/tooling/base/configs/.vscode/extensions.json +0 -9
- package/tooling/base/configs/.vscode/settings.json +0 -3
- package/tooling/base/seeds/.cspell/project-terms.txt +0 -0
- package/tooling/base/seeds/.cspell/tech-stack.txt +0 -25
- package/tooling/base/seeds/cspell.json +0 -20
- package/tooling/go/seeds/.cspell/tech-stack.txt +0 -16
- package/tooling/nextjs/seeds/.cspell/tech-stack.txt +0 -3
- package/tooling/php/seeds/.cspell/tech-stack.txt +0 -5
- package/tooling/python/seeds/.cspell/tech-stack.txt +0 -18
- package/tooling/vite-react/seeds/.cspell/project-terms.txt +0 -1
- package/tooling/vite-react/seeds/.cspell/tech-stack.txt +0 -2
- package/tooling/web/configs/.vscode/extensions.json +0 -13
- package/tooling/web/configs/.vscode/settings.json +0 -10
- package/tooling/web/seeds/.cspell/tech-stack.txt +0 -21
package/src/standards/read.ts
DELETED
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import { existsSync, readdirSync, readFileSync } from 'node:fs'
|
|
2
|
-
import { basename, join } from 'node:path'
|
|
3
|
-
import { stripFrontmatter } from '@/markdown/frontmatter'
|
|
4
|
-
import { PROJECT_ROOT } from '@/roots/project'
|
|
5
|
-
|
|
6
|
-
export const INDEX_FILE = 'index.md'
|
|
7
|
-
|
|
8
|
-
/** The folder a repository authors standards in, toolkit or project alike. */
|
|
9
|
-
export function standardsSourceDir(root: string): string {
|
|
10
|
-
return join(root, 'standards')
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Spells the package root in a report where every other root spells a
|
|
15
|
-
* project-relative path. The `source` field promises a path inside the project
|
|
16
|
-
* and a package copy is the one source that promise cannot cover, so the
|
|
17
|
-
* spelling has to be one nothing will join to a project root.
|
|
18
|
-
*/
|
|
19
|
-
const PACKAGE_LABEL = '<canon>'
|
|
20
|
-
|
|
21
|
-
export interface StandardRoot {
|
|
22
|
-
/** Absolute directory to search. */
|
|
23
|
-
readonly dir: string
|
|
24
|
-
/** How a report spells a copy found under this root. */
|
|
25
|
-
readonly label: string
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface ResolvedStandard {
|
|
29
|
-
readonly path: string
|
|
30
|
-
/** The label of the root that won, joined to the filename. */
|
|
31
|
-
readonly source: string
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* The roots a standard resolves against. No toolkit standard installs into a
|
|
36
|
-
* project any more, so `.claude/standards/` is gone from the list, no repository
|
|
37
|
-
* generates one, and a target
|
|
38
|
-
* carries neither entry below: the package corpus is the only root that
|
|
39
|
-
* answers there, which is what leaves no precedence to reason about.
|
|
40
|
-
*
|
|
41
|
-
* The authoring root stays ahead of the package corpus for the repository that
|
|
42
|
-
* writes standards, where an edit in progress has to win over the copy
|
|
43
|
-
* `package.json` shipped. A project that authors standards of its own is the
|
|
44
|
-
* same case under the same folder.
|
|
45
|
-
*/
|
|
46
|
-
export function standardRoots(root: string): StandardRoot[] {
|
|
47
|
-
return [
|
|
48
|
-
{ dir: standardsSourceDir(root), label: 'standards' },
|
|
49
|
-
{
|
|
50
|
-
dir: standardsSourceDir(PROJECT_ROOT),
|
|
51
|
-
label: join(PACKAGE_LABEL, 'standards'),
|
|
52
|
-
},
|
|
53
|
-
]
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Standards retired into the skill reference that took them, keyed by name with
|
|
58
|
-
* a path relative to the package root. Each retirement adds one line, and the
|
|
59
|
-
* map goes with the verb in the last slice of the retirement.
|
|
60
|
-
*/
|
|
61
|
-
const MOVED_STANDARDS: Readonly<Record<string, string>> = {
|
|
62
|
-
board: 'claude/skills/task-board/references/board.md',
|
|
63
|
-
context: 'claude/skills/context-fold/references/context.md',
|
|
64
|
-
design: 'claude/skills/canvas-board/references/design.md',
|
|
65
|
-
docs: 'claude/skills/docs-sync/references/docs.md',
|
|
66
|
-
figures: 'claude/skills/draft-figure/references/figures.md',
|
|
67
|
-
readme: 'claude/skills/docs-sync/references/readme.md',
|
|
68
|
-
rule: 'claude/skills/create-rule/references/rule.md',
|
|
69
|
-
skill: 'claude/skills/create-skill/references/skill.md',
|
|
70
|
-
branch: 'claude/skills/git-branch/references/branch.md',
|
|
71
|
-
commit: 'claude/skills/git-commit/references/commit.md',
|
|
72
|
-
pr: 'claude/skills/git-pr/references/pr.md',
|
|
73
|
-
publish: 'claude/skills/git-pr/references/publish.md',
|
|
74
|
-
slug: 'claude/skills/git-branch/references/slug.md',
|
|
75
|
-
versioning: 'claude/skills/git-commit/references/versioning.md',
|
|
76
|
-
markdown: 'claude/skills/markdown-craft/references/markdown.md',
|
|
77
|
-
canvas: 'claude/skills/canvas-board/references/canvas.md',
|
|
78
|
-
glossary: 'claude/skills/teach-workspace/references/glossary.md',
|
|
79
|
-
groundwork: 'claude/skills/plan-groundwork/references/groundwork.md',
|
|
80
|
-
'groundwork-spikes':
|
|
81
|
-
'claude/skills/plan-groundwork/references/groundwork-spikes.md',
|
|
82
|
-
intake: 'claude/skills/plan-intake/references/intake.md',
|
|
83
|
-
mermaid: 'claude/skills/draft-figure/references/mermaid.md',
|
|
84
|
-
plan: 'claude/skills/plan-feature/references/plan.md',
|
|
85
|
-
'plan-lifecycle': 'claude/skills/plan-feature/references/plan-lifecycle.md',
|
|
86
|
-
ready: 'claude/skills/draft-ready/references/ready.md',
|
|
87
|
-
requirements: 'claude/skills/draft-doc/references/requirements.md',
|
|
88
|
-
'skill-paths': 'claude/skills/create-skill/references/skill-paths.md',
|
|
89
|
-
'skill-practice': 'claude/skills/create-skill/references/skill-practice.md',
|
|
90
|
-
session: 'claude/skills/session-map/references/session.md',
|
|
91
|
-
'skill-requirement':
|
|
92
|
-
'claude/skills/create-skill/references/skill-requirement.md',
|
|
93
|
-
tasks: 'claude/skills/task-board/references/tasks.md',
|
|
94
|
-
'tasks-decline': 'claude/skills/task-board/references/tasks-decline.md',
|
|
95
|
-
teach: 'claude/skills/teach-workspace/references/teach.md',
|
|
96
|
-
wiki: 'claude/skills/draft-doc/references/wiki.md',
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* The package-relative path a retired standard now lives at, so a caller that
|
|
101
|
-
* resolves against a root of its own tests the same map the verb reads.
|
|
102
|
-
*/
|
|
103
|
-
export function movedStandardPath(name: string): string | undefined {
|
|
104
|
-
if (!Object.hasOwn(MOVED_STANDARDS, name)) return undefined
|
|
105
|
-
|
|
106
|
-
return MOVED_STANDARDS[name]
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
function filename(name: string): string {
|
|
110
|
-
return name.endsWith('.md') ? name : `${name}.md`
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/** Resolves a standard by name, with or without the extension. */
|
|
114
|
-
export function resolveStandard(
|
|
115
|
-
root: string,
|
|
116
|
-
name: string,
|
|
117
|
-
): ResolvedStandard | undefined {
|
|
118
|
-
const file = filename(name)
|
|
119
|
-
|
|
120
|
-
for (const { dir, label } of standardRoots(root)) {
|
|
121
|
-
const path = join(dir, file)
|
|
122
|
-
if (existsSync(path)) return { path, source: join(label, file) }
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
const movedName = basename(file, '.md')
|
|
126
|
-
if (!Object.hasOwn(MOVED_STANDARDS, movedName)) return undefined
|
|
127
|
-
|
|
128
|
-
const moved = MOVED_STANDARDS[movedName]
|
|
129
|
-
if (!moved) return undefined
|
|
130
|
-
|
|
131
|
-
const path = join(PROJECT_ROOT, moved)
|
|
132
|
-
if (!existsSync(path)) return undefined
|
|
133
|
-
|
|
134
|
-
return { path, source: join(PACKAGE_LABEL, moved) }
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Names every standard a resolve could reach, deduplicated across the roots and
|
|
139
|
-
* sorted. Shown when a name misses, so it doubles as the answer to what the
|
|
140
|
-
* caller should have typed.
|
|
141
|
-
*/
|
|
142
|
-
export function listStandards(root: string): string[] {
|
|
143
|
-
const names = new Set<string>()
|
|
144
|
-
|
|
145
|
-
for (const { dir } of standardRoots(root)) {
|
|
146
|
-
if (!existsSync(dir)) continue
|
|
147
|
-
|
|
148
|
-
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
149
|
-
if (!entry.isFile()) continue
|
|
150
|
-
if (!entry.name.endsWith('.md')) continue
|
|
151
|
-
if (entry.name === INDEX_FILE) continue
|
|
152
|
-
|
|
153
|
-
names.add(basename(entry.name, '.md'))
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
for (const name of Object.keys(MOVED_STANDARDS)) names.add(name)
|
|
158
|
-
|
|
159
|
-
return [...names].sort()
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Pairs each listed name with the copy a resolve would read, so a catalog shows
|
|
164
|
-
* what `canon standards <name>` prints rather than every file a root holds.
|
|
165
|
-
*/
|
|
166
|
-
export function resolveAllStandards(
|
|
167
|
-
root: string,
|
|
168
|
-
): Array<ResolvedStandard & { readonly name: string }> {
|
|
169
|
-
return listStandards(root).flatMap((name) => {
|
|
170
|
-
const resolved = resolveStandard(root, name)
|
|
171
|
-
return resolved ? [{ name, ...resolved }] : []
|
|
172
|
-
})
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
export function readStandard(standard: ResolvedStandard): string {
|
|
176
|
-
return stripFrontmatter(readFileSync(standard.path, 'utf8'))
|
|
177
|
-
}
|
package/src/standards/scope.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { linesOutsideFences } from '@/markdown/scan'
|
|
2
|
-
|
|
3
|
-
const SCOPE_HEADING = /^##[ \t]+Scope[ \t]*$/
|
|
4
|
-
const ANY_HEADING = /^#{1,6}[ \t]+\S/
|
|
5
|
-
const CODE_SPAN = /`([^`]+)`/g
|
|
6
|
-
|
|
7
|
-
/** What an attribute standard says of itself, since it names no path. */
|
|
8
|
-
export const ATTRIBUTE_MARKER = 'attribute standard'
|
|
9
|
-
|
|
10
|
-
export interface Scope {
|
|
11
|
-
/** The first non-blank line under the heading, which is the statement. */
|
|
12
|
-
readonly statement: string
|
|
13
|
-
readonly lines: readonly string[]
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function readScope(text: string): Scope | undefined {
|
|
17
|
-
const lines = linesOutsideFences(text)
|
|
18
|
-
const opened = lines.findIndex((line) => SCOPE_HEADING.test(line.trim()))
|
|
19
|
-
if (opened === -1) return undefined
|
|
20
|
-
|
|
21
|
-
const body: string[] = []
|
|
22
|
-
|
|
23
|
-
for (const line of lines.slice(opened + 1)) {
|
|
24
|
-
if (ANY_HEADING.test(line.trim())) break
|
|
25
|
-
body.push(line)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const statement = body.find((line) => line.trim().length > 0)
|
|
29
|
-
|
|
30
|
-
return { statement: statement?.trim() ?? '', lines: body }
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* The paths a scope statement declares: backticked spans in the first sentence
|
|
35
|
-
* alone. The catalog's `appliesTo` field and the records gate both read the
|
|
36
|
-
* statement through this, since one sentence read two ways would let a standard
|
|
37
|
-
* pass the gate while publishing a different jurisdiction to every consumer.
|
|
38
|
-
*/
|
|
39
|
-
export function governedPaths(statement: string): string[] {
|
|
40
|
-
const [sentence] = statement.split('. ')
|
|
41
|
-
return [...sentence.matchAll(CODE_SPAN)].map((match) => match[1])
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* The jurisdiction a standard publishes. The marker is read only where the
|
|
46
|
-
* first sentence backticks nothing, so a statement naming a path publishes that
|
|
47
|
-
* path however the rest of it describes itself. An empty array means the
|
|
48
|
-
* statement did not parse, which consumers report rather than skip.
|
|
49
|
-
*/
|
|
50
|
-
export function appliesTo(text: string): string[] {
|
|
51
|
-
const statement = readScope(text)?.statement ?? ''
|
|
52
|
-
const paths = governedPaths(statement)
|
|
53
|
-
|
|
54
|
-
if (paths.length === 0 && statement.includes(ATTRIBUTE_MARKER)) return ['*']
|
|
55
|
-
return paths
|
|
56
|
-
}
|
package/standards/index.md
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Standards
|
|
3
|
-
subtitle: Reference docs for consistent authoring across the toolkit and target projects.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Standards
|
|
7
|
-
|
|
8
|
-
Reference docs for consistent authoring across the toolkit and target projects.
|
|
9
|
-
|
|
10
|
-
- [Standard reference](standard.md): Shape and content rules for authoring a standard
|
|
File without changes
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
canon
|
|
2
|
-
bradlc
|
|
3
|
-
bunx
|
|
4
|
-
commitlint
|
|
5
|
-
dbaeumer
|
|
6
|
-
dotenv
|
|
7
|
-
dotfolders
|
|
8
|
-
erclx
|
|
9
|
-
errexit
|
|
10
|
-
esac
|
|
11
|
-
esbenp
|
|
12
|
-
eslintcache
|
|
13
|
-
frontmatter
|
|
14
|
-
lintstagedrc
|
|
15
|
-
mkhl
|
|
16
|
-
parallelizable
|
|
17
|
-
regen
|
|
18
|
-
scannability
|
|
19
|
-
shellcheck
|
|
20
|
-
shfmt
|
|
21
|
-
timonwong
|
|
22
|
-
wireframe
|
|
23
|
-
wireframes
|
|
24
|
-
worktree
|
|
25
|
-
worktrees
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "0.2",
|
|
3
|
-
"language": "en",
|
|
4
|
-
"useGitignore": true,
|
|
5
|
-
"gitignoreRoot": ["."],
|
|
6
|
-
"dictionaryDefinitions": [
|
|
7
|
-
{
|
|
8
|
-
"name": "project-terms",
|
|
9
|
-
"path": ".cspell/project-terms.txt",
|
|
10
|
-
"addWords": true
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"name": "tech-stack",
|
|
14
|
-
"path": ".cspell/tech-stack.txt",
|
|
15
|
-
"addWords": true
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"dictionaries": ["project-terms", "tech-stack"],
|
|
19
|
-
"ignorePaths": [".cspell/**", ".git/**", ".claude/rules/canon/**"]
|
|
20
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"recommendations": [
|
|
3
|
-
"esbenp.prettier-vscode",
|
|
4
|
-
"streetsidesoftware.code-spell-checker",
|
|
5
|
-
"mkhl.shfmt",
|
|
6
|
-
"timonwong.shellcheck",
|
|
7
|
-
"mads-hartmann.bash-ide-vscode",
|
|
8
|
-
"dbaeumer.vscode-eslint",
|
|
9
|
-
"bradlc.vscode-tailwindcss",
|
|
10
|
-
"ms-playwright.playwright",
|
|
11
|
-
"vitest.explorer"
|
|
12
|
-
]
|
|
13
|
-
}
|