@roomi-fields/grillhouse 0.0.0-stage → 0.23.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/.claude-plugin/plugin.json +9 -0
- package/METACADRE.md +41 -0
- package/agents/developpeur.md +10 -0
- package/agents/explorateur.md +9 -0
- package/agents/questionneur.md +11 -0
- package/agents/referent-technique.md +9 -0
- package/agents/regulateur.md +11 -0
- package/agents/relecteur.md +9 -0
- package/agents/testwriter.md +10 -0
- package/bin/grillhouse.mjs +125 -0
- package/cadre/templates/projet/.claude/settings.json +30 -0
- package/cadre/templates/projet/.editorconfig +47 -0
- package/cadre/templates/projet/.env.example +57 -0
- package/cadre/templates/projet/.eslintrc.cjs +56 -0
- package/cadre/templates/projet/.github/workflows/ci.yml +66 -0
- package/cadre/templates/projet/.mcp.json +13 -0
- package/cadre/templates/projet/.prettierrc +11 -0
- package/cadre/templates/projet/CHANGELOG.md +61 -0
- package/cadre/templates/projet/CLAUDE.md +46 -0
- package/cadre/templates/projet/CONTRIBUTING.md +243 -0
- package/cadre/templates/projet/CREDITS.md +41 -0
- package/cadre/templates/projet/README.md +152 -0
- package/cadre/templates/projet/_gitignore +91 -0
- package/cadre/templates/projet/_npmignore +46 -0
- package/cadre/templates/projet/deployment/README.md +98 -0
- package/cadre/templates/projet/deployment/docs/01-INSTALL.md +145 -0
- package/cadre/templates/projet/deployment/docs/02-CONFIGURATION.md +117 -0
- package/cadre/templates/projet/deployment/docs/03-API.md +264 -0
- package/cadre/templates/projet/deployment/docs/04-TROUBLESHOOTING.md +262 -0
- package/cadre/templates/projet/deployment/scripts/install.ps1 +100 -0
- package/cadre/templates/projet/deployment/scripts/start.ps1 +61 -0
- package/cadre/templates/projet/deployment/scripts/stop.ps1 +37 -0
- package/cadre/templates/projet/deployment/scripts/test.ps1 +118 -0
- package/cadre/templates/projet/docs/agents/issue-tracker.md +44 -0
- package/cadre/templates/projet/ecosystem.config.cjs +73 -0
- package/cadre/templates/projet/package.json +90 -0
- package/cadre/templates/projet/pitmaster/SUIVI.md +22 -0
- package/cadre/templates/projet/src/config.ts +68 -0
- package/cadre/templates/projet/src/errors.ts +102 -0
- package/cadre/templates/projet/src/index.ts +46 -0
- package/cadre/templates/projet/src/services/.gitkeep +8 -0
- package/cadre/templates/projet/src/types/index.ts +24 -0
- package/cadre/templates/projet/src/utils/logger.ts +106 -0
- package/cadre/templates/projet/tests/integration/.gitkeep +7 -0
- package/cadre/templates/projet/tests/unit/config.spec.ts +68 -0
- package/cadre/templates/projet/tests/unit/errors.spec.ts +132 -0
- package/cadre/templates/projet/tests/unit/types.spec.ts +73 -0
- package/cadre/templates/projet/tsconfig.eslint.json +9 -0
- package/cadre/templates/projet/tsconfig.json +41 -0
- package/cadre/templates/projet/tsdoc.json +6 -0
- package/cadre/templates/projet/vitest.config.ts +44 -0
- package/cadre/templates/turbo/paquets.json +29 -0
- package/cadre/templates/turbo/sans-paquets.json +28 -0
- package/charte.md +107 -0
- package/docs/ARCHITECTURE.md +90 -0
- package/hooks/crochet.mjs +33 -0
- package/hooks/hooks.json +58 -0
- package/hooks/register.tsx +558 -0
- package/package.json +75 -4
- package/scripts/avancement.mjs +244 -0
- package/scripts/bilan.mjs +523 -0
- package/scripts/branche-de-nuit.mjs +59 -0
- package/scripts/cadre.mjs +109 -0
- package/scripts/circuit.mjs +4375 -0
- package/scripts/code-mort.mjs +371 -0
- package/scripts/composants-affectes.mjs +598 -0
- package/scripts/consommateurs-arbitres.mjs +192 -0
- package/scripts/consommateurs.mjs +310 -0
- package/scripts/crochet.mjs +24 -0
- package/scripts/crochets.mjs +135 -0
- package/scripts/dernier-vert.mjs +208 -0
- package/scripts/dette.mjs +181 -0
- package/scripts/droits.mjs +354 -0
- package/scripts/enveloppe/codes.mjs +17 -0
- package/scripts/enveloppe/composant.mjs +11 -0
- package/scripts/enveloppe/enveloppe.mjs +628 -0
- package/scripts/enveloppe/lancer.sh +311 -0
- package/scripts/etapes.mjs +323 -0
- package/scripts/etat-du-circuit.mjs +104 -0
- package/scripts/frontieres.mjs +456 -0
- package/scripts/gardes-du-cadre.mjs +72 -0
- package/scripts/greffons.mjs +338 -0
- package/scripts/grillhouse-maj.mjs +514 -0
- package/scripts/index-interfaces.mjs +293 -0
- package/scripts/init.mjs +117 -0
- package/scripts/integration/file-attente.mjs +61 -0
- package/scripts/integration/file.mjs +494 -0
- package/scripts/integration/integrer.mjs +381 -0
- package/scripts/integration/rejeu.mjs +139 -0
- package/scripts/integration/verdict.mjs +13 -0
- package/scripts/interfaces-contre-code.mjs +547 -0
- package/scripts/ligne-etat/defaut.sh +110 -0
- package/scripts/ligne-etat/ligne-etat.mjs +93 -0
- package/scripts/migrations/0.23.0-charte-importee.mjs +47 -0
- package/scripts/migrations/0.23.0-config-vitest.mjs +105 -0
- package/scripts/migrations/0.23.0-crochets-de-seance.mjs +55 -0
- package/scripts/migrations/0.23.0-marche-du-projet.mjs +82 -0
- package/scripts/migrations.mjs +43 -0
- package/scripts/nuit.sh +269 -0
- package/scripts/paquets.mjs +79 -0
- package/scripts/poussee-cles.mjs +46 -0
- package/scripts/preparation.mjs +84 -0
- package/scripts/references-par-les-types.mjs +420 -0
- package/scripts/registre.mjs +336 -0
- package/scripts/resultats.mjs +580 -0
- package/scripts/resumes.mjs +57 -0
- package/scripts/retirer-copie.sh +127 -0
- package/scripts/session-start.sh +203 -0
- package/scripts/sortie.mjs +155 -0
- package/scripts/sous-modules.sh +316 -0
- package/scripts/structure-guard.sh +27 -0
- package/scripts/superviseur.mjs +102 -0
- package/scripts/tableau.mjs +1886 -0
- package/scripts/tests.mjs +236 -0
- package/scripts/ticket.sh +23 -0
- package/scripts/turbo-des-paquets.mjs +899 -0
- package/scripts/un-commit-par-ticket.mjs +212 -0
- package/scripts/verifier.mjs +469 -0
- package/scripts/verrou-de-fichier.mjs +130 -0
- package/scripts/verrou-de-machine.mjs +211 -0
- package/scripts/verrous/commande.mjs +180 -0
- package/scripts/verrous/ticket-du-sous-agent.mjs +39 -0
- package/scripts/verrous/verrou.mjs +165 -0
- package/scripts/vitest-config/avancement.mjs +39 -0
- package/scripts/vitest-config/avancement.reporter.mjs +56 -0
- package/scripts/vitest-config/base-de-passe.mjs +128 -0
- package/scripts/vitest-config/base.d.ts +6 -0
- package/scripts/vitest-config/base.mjs +87 -0
- package/scripts/vitest-config/changements.mjs +173 -0
- package/scripts/vitest-config/cibles.mjs +207 -0
- package/scripts/vitest-config/duree.reporter.mjs +98 -0
- package/scripts/vitest-config/machine.setup.mjs +14 -0
- package/scripts/vitest-config/mesure.d.ts +6 -0
- package/scripts/vitest-config/mesure.mjs +13 -0
- package/scripts/vitest-config/mesure.setup.mjs +12 -0
- package/scripts/vitest-config/pression.mjs +90 -0
- package/scripts/vitest-config/resultats.mjs +23 -0
- package/scripts/vitest-config/resultats.setup.mjs +19 -0
- package/scripts/vitest.nuit.config.mjs +26 -0
- package/skills/developpeur/SKILL.md +175 -0
- package/skills/explorateur/SKILL.md +84 -0
- package/skills/grill/SKILL.md +238 -0
- package/skills/grill/references/releve-structurel.md +38 -0
- package/skills/mesure/SKILL.md +168 -0
- package/skills/pitmaster/SKILL.md +382 -0
- package/skills/pitmaster/references/cadre.md +119 -0
- package/skills/pitmaster/references/consigne-agent.md +308 -0
- package/skills/pitmaster/references/erreurs.md +25 -0
- package/skills/pitmaster/references/tour.md +124 -0
- package/skills/questionneur/SKILL.md +64 -0
- package/skills/redacteur/SKILL.md +84 -0
- package/skills/redacteur/references/documents-d-un-composant.md +105 -0
- package/skills/referent-technique/SKILL.md +145 -0
- package/skills/regulateur/SKILL.md +220 -0
- package/skills/release/SKILL.md +134 -0
- package/skills/release/scripts/update-version.cjs +92 -0
- package/skills/relecteur/SKILL.md +152 -0
- package/skills/relecteur/references/LICENSE-MIT +30 -0
- package/skills/relecteur/references/SOURCE.md +8 -0
- package/skills/relecteur/references/claims-check.md +14 -0
- package/skills/relecteur/references/deletion-check.md +14 -0
- package/skills/relecteur/references/edge-case-hunter.md +80 -0
- package/skills/relecteur/references/verification-gap.md +113 -0
- package/skills/testwriter/SKILL.md +187 -0
- package/types/index.d.ts +56 -0
- package/README.md +0 -3
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// The frame's files the package carries: the frame's plugin (`mods/grillhouse/`: its skills,
|
|
3
|
+
// agents, hooks of Claude Code, panel, common charter and meta-frame, `METACADRE.md`, which the
|
|
4
|
+
// circuit also reads, as the agents' instructions, `consigne-agent.md`) and the template of a
|
|
5
|
+
// project (`templates/`, which `grillhouse init` installs and `grillhouse maj` reads). In
|
|
6
|
+
// Grillhouse's repository they live at their own address, beside the package. The published
|
|
7
|
+
// package is the plugin, as a package of ESLint carries its plugin: its root holds the plugin's
|
|
8
|
+
// files, so the marketplace names the package by a source npm, which has no subdirectory; and
|
|
9
|
+
// it carries a copy of the template under `cadre/`, as create-vite carries its templates. The
|
|
10
|
+
// frame arrives in one piece.
|
|
11
|
+
//
|
|
12
|
+
// node scripts/cadre.mjs --empaqueter copies them into the package (the package's prepack)
|
|
13
|
+
// node scripts/cadre.mjs --nettoyer removes the copies (the package's postpack)
|
|
14
|
+
//
|
|
15
|
+
// - GREFFON is the plugin's root these scripts read: the package's own when it is installed (its
|
|
16
|
+
// real path lies under a `node_modules` directory), else `mods/grillhouse/` of Grillhouse's
|
|
17
|
+
// repository, two levels above the package. CADRE is the root the template is read from:
|
|
18
|
+
// `cadre/` of the installed package, else the repository. So the package reads the same files
|
|
19
|
+
// wherever it is installed, and the repository keeps one address for each.
|
|
20
|
+
// - The copy of the plugin, ELEMENTS_DU_GREFFON, is each entry of `mods/grillhouse/` but its tests
|
|
21
|
+
// (`tests/`) and its configuration of TypeScript (`tsconfig.json`), at the package's root,
|
|
22
|
+
// beside the package's own entries, PROPRES_DU_PAQUET; an entry of the plugin of the same name
|
|
23
|
+
// stops the copy. Its manifest (`.claude-plugin/plugin.json`)
|
|
24
|
+
// receives VERSION: the plugin takes the package's version, its manifest in the repository
|
|
25
|
+
// carries none.
|
|
26
|
+
// - VERSION is the `version` of the package's package.json, the one version of the package and its
|
|
27
|
+
// plugin.
|
|
28
|
+
import { cpSync, existsSync, readdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
29
|
+
import path from 'node:path';
|
|
30
|
+
import { pathToFileURL } from 'node:url';
|
|
31
|
+
|
|
32
|
+
/** The package's directory. */
|
|
33
|
+
export const PAQUET = path.join(import.meta.dirname, '..');
|
|
34
|
+
const COPIE = path.join(PAQUET, 'cadre');
|
|
35
|
+
const DEPOT = path.join(PAQUET, '..', '..');
|
|
36
|
+
const SOURCE_DU_GREFFON = path.join(DEPOT, 'mods', 'grillhouse');
|
|
37
|
+
const INSTALLE = PAQUET.split(path.sep).includes('node_modules');
|
|
38
|
+
|
|
39
|
+
/** The frame's files the package reads under CADRE, which `--empaqueter` copies under cadre/. */
|
|
40
|
+
export const FICHIERS_DU_CADRE = ['templates'];
|
|
41
|
+
|
|
42
|
+
/** The entries the package publishes of its own; `docs/` holds the architecture the charter names. */
|
|
43
|
+
export const PROPRES_DU_PAQUET = ['bin', 'cadre', 'docs', 'scripts'];
|
|
44
|
+
|
|
45
|
+
/** The entries of the plugin's source the package leaves out. */
|
|
46
|
+
export const HORS_DU_GREFFON = ['tests', 'tsconfig.json'];
|
|
47
|
+
|
|
48
|
+
/** The entries of the plugin, which `--empaqueter` copies at the package's root. */
|
|
49
|
+
export const ELEMENTS_DU_GREFFON = existsSync(SOURCE_DU_GREFFON)
|
|
50
|
+
? readdirSync(SOURCE_DU_GREFFON)
|
|
51
|
+
.filter(e => !HORS_DU_GREFFON.includes(e))
|
|
52
|
+
.sort()
|
|
53
|
+
: [];
|
|
54
|
+
|
|
55
|
+
/** The root of the frame's files: the package's copy when installed, else the repository. */
|
|
56
|
+
export const CADRE = INSTALLE ? COPIE : DEPOT;
|
|
57
|
+
|
|
58
|
+
/** The root of the frame's plugin: the package itself when installed, else its source. */
|
|
59
|
+
export const GREFFON = INSTALLE ? PAQUET : SOURCE_DU_GREFFON;
|
|
60
|
+
|
|
61
|
+
/** The version of the package and its mod. */
|
|
62
|
+
export const VERSION = JSON.parse(readFileSync(path.join(PAQUET, 'package.json'), 'utf8')).version;
|
|
63
|
+
|
|
64
|
+
const json = v => `${JSON.stringify(v, null, 2)}\n`;
|
|
65
|
+
|
|
66
|
+
// Copies the plugin at the package's root, its manifest at VERSION, and each file of
|
|
67
|
+
// FICHIERS_DU_CADRE under cadre/; the former copies removed first.
|
|
68
|
+
function empaqueter() {
|
|
69
|
+
if (!existsSync(SOURCE_DU_GREFFON)) {
|
|
70
|
+
throw new Error(`mods/grillhouse manque au dépôt du cadre (${DEPOT})`);
|
|
71
|
+
}
|
|
72
|
+
const doublon = ELEMENTS_DU_GREFFON.find(e => PROPRES_DU_PAQUET.includes(e));
|
|
73
|
+
if (doublon) {
|
|
74
|
+
throw new Error(`${doublon} du greffon porte le nom d'une entrée du paquet (${PAQUET})`);
|
|
75
|
+
}
|
|
76
|
+
nettoyer();
|
|
77
|
+
for (const e of ELEMENTS_DU_GREFFON) {
|
|
78
|
+
cpSync(path.join(SOURCE_DU_GREFFON, e), path.join(PAQUET, e), { recursive: true });
|
|
79
|
+
}
|
|
80
|
+
const manifeste = path.join(PAQUET, '.claude-plugin', 'plugin.json');
|
|
81
|
+
writeFileSync(
|
|
82
|
+
manifeste,
|
|
83
|
+
json({ ...JSON.parse(readFileSync(manifeste, 'utf8')), version: VERSION })
|
|
84
|
+
);
|
|
85
|
+
for (const f of FICHIERS_DU_CADRE) {
|
|
86
|
+
const source = path.join(DEPOT, f);
|
|
87
|
+
if (!existsSync(source)) throw new Error(`${f} manque au dépôt du cadre (${DEPOT})`);
|
|
88
|
+
cpSync(source, path.join(COPIE, f), { recursive: true });
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Removes the copies of the plugin and cadre/.
|
|
93
|
+
function nettoyer() {
|
|
94
|
+
for (const e of ELEMENTS_DU_GREFFON)
|
|
95
|
+
rmSync(path.join(PAQUET, e), { recursive: true, force: true });
|
|
96
|
+
rmSync(COPIE, { recursive: true, force: true });
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (import.meta.url === pathToFileURL(process.argv[1] ?? '').href) {
|
|
100
|
+
const [option] = process.argv.slice(2);
|
|
101
|
+
if (option === '--empaqueter') {
|
|
102
|
+
empaqueter();
|
|
103
|
+
} else if (option === '--nettoyer') {
|
|
104
|
+
nettoyer();
|
|
105
|
+
} else {
|
|
106
|
+
process.stderr.write('Usage : node scripts/cadre.mjs --empaqueter | --nettoyer\n');
|
|
107
|
+
process.exitCode = 2;
|
|
108
|
+
}
|
|
109
|
+
}
|