@ryuenn3123/agentic-senior-core 2.5.16 → 2.5.17
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/.agent-context/prompts/init-project.md +1 -1
- package/.agent-context/state/memory-continuity-benchmark.json +1 -1
- package/.cursorrules +2 -2
- package/.windsurfrules +2 -2
- package/README.md +1 -1
- package/lib/cli/commands/init.mjs +4 -4
- package/lib/cli/commands/upgrade.mjs +2 -2
- package/lib/cli/utils.mjs +1 -1
- package/package.json +1 -1
- package/scripts/validate.mjs +56 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Prompts: Initialize Project
|
|
2
2
|
|
|
3
3
|
> Copy-paste one of these prompts to your AI agent (Cursor, Windsurf, Copilot, Antigravity) right after cloning this repository.
|
|
4
|
-
> V1.4 recommendation: run `bunx @fatidaprilian/agentic-senior-core init` first to compile dynamic
|
|
4
|
+
> V1.4 recommendation: run `bunx @fatidaprilian/agentic-senior-core init` first to compile dynamic rules operations context (Federated Governance baseline).
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
package/.cursorrules
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AGENTIC-SENIOR-CORE DYNAMIC GOVERNANCE RULESET
|
|
2
2
|
|
|
3
|
-
Generated by Agentic-Senior-Core CLI v2.5.
|
|
4
|
-
Timestamp: 2026-04-
|
|
3
|
+
Generated by Agentic-Senior-Core CLI v2.5.17
|
|
4
|
+
Timestamp: 2026-04-18T03:00:00.000Z
|
|
5
5
|
Selected profile: beginner
|
|
6
6
|
Selected policy file: .agent-context/policies/llm-judge-threshold.json
|
|
7
7
|
|
package/.windsurfrules
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AGENTIC-SENIOR-CORE DYNAMIC GOVERNANCE RULESET
|
|
2
2
|
|
|
3
|
-
Generated by Agentic-Senior-Core CLI v2.5.
|
|
4
|
-
Timestamp: 2026-04-
|
|
3
|
+
Generated by Agentic-Senior-Core CLI v2.5.17
|
|
4
|
+
Timestamp: 2026-04-18T03:00:00.000Z
|
|
5
5
|
Selected profile: beginner
|
|
6
6
|
Selected policy file: .agent-context/policies/llm-judge-threshold.json
|
|
7
7
|
|
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ If you see `Property $schema is not allowed`, keep `.vscode/mcp.json` without `$
|
|
|
74
74
|
|
|
75
75
|
| Command | Purpose |
|
|
76
76
|
|---------|---------|
|
|
77
|
-
| `agentic-senior-core init` | Initialize
|
|
77
|
+
| `agentic-senior-core init` | Initialize rules operations context (Federated Governance baseline) |
|
|
78
78
|
| `agentic-senior-core upgrade --dry-run` | Preview safe upgrades |
|
|
79
79
|
| `agentic-senior-core optimize --show` | Show token optimization state |
|
|
80
80
|
| `agentic-senior-core skill frontend --tier advance` | Select skill packs |
|
|
@@ -583,7 +583,7 @@ export async function runInitCommand(targetDirectoryArgument, initOptions = {})
|
|
|
583
583
|
}
|
|
584
584
|
|
|
585
585
|
console.log(`\nAgentic-Senior-Core CLI v${CLI_VERSION}`);
|
|
586
|
-
console.log('I will copy
|
|
586
|
+
console.log('I will copy rules operations assets (Federated Governance baseline) into your target folder and compile a single rulebook for your AI tools.');
|
|
587
587
|
|
|
588
588
|
if (selectedPreset) {
|
|
589
589
|
console.log(`Using preset: ${initOptions.preset} (${selectedPreset.description}).`);
|
|
@@ -881,7 +881,7 @@ export async function runInitCommand(targetDirectoryArgument, initOptions = {})
|
|
|
881
881
|
? selectedProfilePack.defaultCi
|
|
882
882
|
: selectedProfile.lockCi
|
|
883
883
|
? selectedProfile.defaultCi
|
|
884
|
-
: await askYesNo('Enable CI/CD guardrails and the LLM Judge policy?', userInterface, selectedProfile.defaultCi);
|
|
884
|
+
: await askYesNo('Enable CI/CD quality checks (guardrails) and the LLM Judge policy?', userInterface, selectedProfile.defaultCi);
|
|
885
885
|
|
|
886
886
|
await copyGovernanceAssetsToTarget(resolvedTargetDirectoryPath, {
|
|
887
887
|
includeMcpTemplate: shouldIncludeMcpTemplate,
|
|
@@ -1078,7 +1078,7 @@ export async function runInitCommand(targetDirectoryArgument, initOptions = {})
|
|
|
1078
1078
|
console.log(`- Additional blueprints: ${selectedAdditionalBlueprintFileNames.map((blueprintFileName) => toTitleCase(blueprintFileName)).join(', ')}`);
|
|
1079
1079
|
}
|
|
1080
1080
|
console.log(`- Runtime environment: ${resolveRuntimeEnvironmentLabelFromKey(selectedRuntimeEnvironmentKey)} (detected: ${detectedRuntimeEnvironment.label})`);
|
|
1081
|
-
console.log(`- CI/CD guardrails: ${includeCiGuardrails ? 'enabled' : 'disabled'}`);
|
|
1081
|
+
console.log(`- CI/CD quality checks (guardrails): ${includeCiGuardrails ? 'enabled' : 'disabled'}`);
|
|
1082
1082
|
console.log(`- Blocking severities: ${formatBlockingSeverities(selectedProfile.blockingSeverities)}`);
|
|
1083
1083
|
console.log(`- Setup time: ${formatDuration(setupDurationMs)}`);
|
|
1084
1084
|
console.log('- Generated files: .cursorrules, .windsurfrules, and .agent-context/state/onboarding-report.json');
|
|
@@ -1099,7 +1099,7 @@ export async function runInitCommand(targetDirectoryArgument, initOptions = {})
|
|
|
1099
1099
|
console.log('- Token optimization policy: disabled (--no-token-optimize)');
|
|
1100
1100
|
}
|
|
1101
1101
|
console.log('\nPlain-language summary:');
|
|
1102
|
-
console.log(`I prepared a ${selectedProfile.displayName.toLowerCase()}
|
|
1102
|
+
console.log(`I prepared a ${selectedProfile.displayName.toLowerCase()} rules operations pack (Federated Governance baseline) for a ${toTitleCase(selectedResolvedStackFileName)} project using the ${toTitleCase(selectedResolvedBlueprintFileName)} blueprint.`);
|
|
1103
1103
|
if (selectedAdditionalStackFileNames.length > 0) {
|
|
1104
1104
|
console.log(`I also included additional stack context for ${selectedAdditionalStackFileNames.map((stackFileName) => toTitleCase(stackFileName)).join(', ')}.`);
|
|
1105
1105
|
}
|
|
@@ -100,7 +100,7 @@ export async function runUpgradeCommand(targetDirectoryArgument, upgradeOptions
|
|
|
100
100
|
|
|
101
101
|
try {
|
|
102
102
|
console.log(`\nAgentic-Senior-Core CLI v${CLI_VERSION}`);
|
|
103
|
-
console.log('Running upgrade assistant for an existing repository.');
|
|
103
|
+
console.log('Running rules operations upgrade assistant (Federated Governance baseline) for an existing repository.');
|
|
104
104
|
|
|
105
105
|
await copyGovernanceAssetsToTarget(resolvedTargetDirectoryPath, {
|
|
106
106
|
includeMcpTemplate: upgradeOptions.includeMcpTemplate === true,
|
|
@@ -193,7 +193,7 @@ export async function runUpgradeCommand(targetDirectoryArgument, upgradeOptions
|
|
|
193
193
|
if (selectedAdditionalBlueprintFileNames.length > 0) {
|
|
194
194
|
console.log(`- Additional blueprints: ${selectedAdditionalBlueprintFileNames.map((blueprintFileName) => toTitleCase(blueprintFileName)).join(', ')}`);
|
|
195
195
|
}
|
|
196
|
-
console.log(`- CI/CD guardrails: ${includeCiGuardrails ? 'enabled' : 'disabled'}`);
|
|
196
|
+
console.log(`- CI/CD quality checks (guardrails): ${includeCiGuardrails ? 'enabled' : 'disabled'}`);
|
|
197
197
|
console.log(`- Existing rules lines: ${currentRuleLineCount}`);
|
|
198
198
|
console.log(`- Planned rules lines: ${plannedRuleLineCount}`);
|
|
199
199
|
console.log(`- Rules changed: ${isRulesContentChanged ? 'yes' : 'no'}`);
|
package/lib/cli/utils.mjs
CHANGED
|
@@ -49,7 +49,7 @@ export function printUsage() {
|
|
|
49
49
|
console.log(' --project-description Architecture intent text used for stack/blueprint recommendation');
|
|
50
50
|
console.log(' --architect-token-budget Max token estimate used by recommendation research (default: 900)');
|
|
51
51
|
console.log(' --architect-timeout-ms Max recommendation research time in milliseconds (default: 1500)');
|
|
52
|
-
console.log(' --ci Override CI/CD guardrails (true|false)');
|
|
52
|
+
console.log(' --ci Override CI/CD quality checks (guardrails) (true|false)');
|
|
53
53
|
console.log(' --token-optimize Explicitly enable token optimization policy during init (default behavior)');
|
|
54
54
|
console.log(' --token-agent Set token optimization agent target (copilot, claude, cursor, windsurf, gemini, codex, cline)');
|
|
55
55
|
console.log(' --no-token-optimize Disable token optimization policy during init');
|
package/package.json
CHANGED
package/scripts/validate.mjs
CHANGED
|
@@ -80,6 +80,26 @@ const REQUIRED_HUMAN_WRITING_SNIPPETS = [
|
|
|
80
80
|
],
|
|
81
81
|
},
|
|
82
82
|
];
|
|
83
|
+
const TERMINOLOGY_REFERENCE_PATHS = [
|
|
84
|
+
'README.md',
|
|
85
|
+
'docs/roadmap.md',
|
|
86
|
+
];
|
|
87
|
+
const REQUIRED_TERMINOLOGY_ROW_PATTERNS = [
|
|
88
|
+
{
|
|
89
|
+
label: 'Federated Governance -> Federated Rules Operations',
|
|
90
|
+
pattern: /\|\s*Federated Governance\s*\|\s*Federated Rules Operations\s*\|/u,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
label: 'Governance Engine -> Rules Engine',
|
|
94
|
+
pattern: /\|\s*Governance Engine\s*\|\s*Rules Engine\s*\|/u,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
label: 'Guardrails -> Quality Checks',
|
|
98
|
+
pattern: /\|\s*Guardrails\s*\|\s*Quality Checks\s*\|/u,
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
const REQUIRED_TERMINOLOGY_RULE_SNIPPET =
|
|
102
|
+
'Rule: on first mention in developer-facing docs, include canonical term in parentheses.';
|
|
83
103
|
|
|
84
104
|
const validationResult = {
|
|
85
105
|
passed: 0,
|
|
@@ -727,6 +747,41 @@ async function validateDocumentationFlow() {
|
|
|
727
747
|
}
|
|
728
748
|
}
|
|
729
749
|
|
|
750
|
+
async function validateTerminologyMapping() {
|
|
751
|
+
console.log('\nChecking terminology mapping consistency...');
|
|
752
|
+
|
|
753
|
+
for (const terminologyReferencePath of TERMINOLOGY_REFERENCE_PATHS) {
|
|
754
|
+
const absoluteReferencePath = join(ROOT_DIR, terminologyReferencePath);
|
|
755
|
+
|
|
756
|
+
if (!(await fileExists(absoluteReferencePath))) {
|
|
757
|
+
fail(`Missing terminology reference source: ${terminologyReferencePath}`);
|
|
758
|
+
continue;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
const referenceContent = await readTextFile(absoluteReferencePath);
|
|
762
|
+
|
|
763
|
+
if (referenceContent.includes('Terminology Mapping (Final)')) {
|
|
764
|
+
pass(`${terminologyReferencePath} includes Terminology Mapping (Final)`);
|
|
765
|
+
} else {
|
|
766
|
+
fail(`${terminologyReferencePath} must include Terminology Mapping (Final)`);
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
for (const terminologyRowRule of REQUIRED_TERMINOLOGY_ROW_PATTERNS) {
|
|
770
|
+
if (terminologyRowRule.pattern.test(referenceContent)) {
|
|
771
|
+
pass(`${terminologyReferencePath} includes mapping row: ${terminologyRowRule.label}`);
|
|
772
|
+
} else {
|
|
773
|
+
fail(`${terminologyReferencePath} is missing mapping row: ${terminologyRowRule.label}`);
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
if (referenceContent.includes(REQUIRED_TERMINOLOGY_RULE_SNIPPET)) {
|
|
778
|
+
pass(`${terminologyReferencePath} includes first-mention canonical term rule`);
|
|
779
|
+
} else {
|
|
780
|
+
fail(`${terminologyReferencePath} must include first-mention canonical term rule`);
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
|
|
730
785
|
async function validateMcpConfiguration() {
|
|
731
786
|
console.log('\nChecking MCP configuration...');
|
|
732
787
|
|
|
@@ -975,6 +1030,7 @@ async function main() {
|
|
|
975
1030
|
await validatePolicyFile();
|
|
976
1031
|
await validateVersionConsistency();
|
|
977
1032
|
await validateDocumentationFlow();
|
|
1033
|
+
await validateTerminologyMapping();
|
|
978
1034
|
await validateMcpConfiguration();
|
|
979
1035
|
await validateHumanWritingGovernance();
|
|
980
1036
|
await validateInstructionAdapters();
|