@ryuenn3123/agentic-senior-core 4.2.2 → 4.2.4
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/AGENTS.md +2 -2
- package/README.md +1 -0
- package/lib/cli/backup.mjs +16 -0
- package/lib/cli/commands/init.mjs +21 -0
- package/lib/cli/compiler.mjs +2 -0
- package/lib/cli/init-options.mjs +11 -0
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -18,7 +18,7 @@ Write instructions as imperative gates:
|
|
|
18
18
|
- Add validation when a rule can drift.
|
|
19
19
|
|
|
20
20
|
## Bootstrap Receipt
|
|
21
|
-
For non-trivial
|
|
21
|
+
For non-trivial work, run `agentic-senior-core context "<task_description>"` (or `npx @ryuenn3123/agentic-senior-core context "<task_description>"`) and emit a concise Bootstrap Receipt before implementation output or file edits:
|
|
22
22
|
- `loaded_files`: files actually read
|
|
23
23
|
- `selected_rules`: files selected for this scope and why
|
|
24
24
|
- `skipped_rules`: out-of-scope categories left unloaded
|
|
@@ -28,7 +28,7 @@ For non-trivial coding, review, planning, or governance work, run `agentic-senio
|
|
|
28
28
|
Keep it short. Do not load every rule just to fill it out.
|
|
29
29
|
|
|
30
30
|
## Default Activation And Command Economy
|
|
31
|
-
Before any non-trivial task, run `agentic-senior-core context` and emit the Bootstrap Receipt. Skip only for trivial tasks: version bumps, typo fixes, single-line commits.
|
|
31
|
+
Before any non-trivial task, run `agentic-senior-core context "<task_description>"` and emit the Bootstrap Receipt. Skip only for trivial tasks: version bumps, typo fixes, single-line commits.
|
|
32
32
|
Always prefix noisy shell commands: `ascx git status`, `ascx git diff`, `ascx npm test`, `ascx rg` searches. Use raw commands only for pipes, redirects, or commands not supported by ascx.
|
|
33
33
|
Always read and apply `.agent-context/prompts/compact-natural-mode.md` for every final user-facing reply. Never repeat full command output; reference tee file paths when truncated.
|
|
34
34
|
|
package/README.md
CHANGED
|
@@ -26,6 +26,7 @@ Options:
|
|
|
26
26
|
- Add `--mcp-template` to generate VS Code MCP workspace config.
|
|
27
27
|
- Default init keeps MCP files opt-in.
|
|
28
28
|
- Add `--no-token-optimize` only when you do not want ASCX command guidance enabled.
|
|
29
|
+
- Add `--local-only` to ignore instructions (AGENTS.md, .agent-context/, and bridges) in .gitignore so they are not pushed to GitHub.
|
|
29
30
|
- Local backup snapshots are written under `.agentic-backup/` and excluded from version control.
|
|
30
31
|
|
|
31
32
|
## Upgrade
|
package/lib/cli/backup.mjs
CHANGED
|
@@ -12,6 +12,15 @@ const RUNTIME_ARTIFACT_GITIGNORE_ENTRIES = [
|
|
|
12
12
|
];
|
|
13
13
|
const RUNTIME_ARTIFACT_GITIGNORE_COMMENT = '# agentic-senior-core: local runtime artifacts';
|
|
14
14
|
|
|
15
|
+
const GOVERNANCE_GITIGNORE_ENTRIES = [
|
|
16
|
+
'.agent-context/',
|
|
17
|
+
'AGENTS.md',
|
|
18
|
+
'CLAUDE.md',
|
|
19
|
+
'GEMINI.md',
|
|
20
|
+
'mcp.json',
|
|
21
|
+
];
|
|
22
|
+
const GOVERNANCE_GITIGNORE_COMMENT = '# agentic-senior-core: local-only governance files';
|
|
23
|
+
|
|
15
24
|
/**
|
|
16
25
|
* Calculates a SHA-256 hash of a file's contents.
|
|
17
26
|
*/
|
|
@@ -192,3 +201,10 @@ export async function ensureRuntimeArtifactGitignoreEntries(targetDirectoryPath)
|
|
|
192
201
|
entries: RUNTIME_ARTIFACT_GITIGNORE_ENTRIES,
|
|
193
202
|
});
|
|
194
203
|
}
|
|
204
|
+
|
|
205
|
+
export async function ensureLocalGovernanceGitignoreEntries(targetDirectoryPath) {
|
|
206
|
+
return ensureGitignoreEntries(targetDirectoryPath, {
|
|
207
|
+
comment: GOVERNANCE_GITIGNORE_COMMENT,
|
|
208
|
+
entries: GOVERNANCE_GITIGNORE_ENTRIES,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
@@ -49,6 +49,7 @@ import {
|
|
|
49
49
|
createBackup,
|
|
50
50
|
ensureBackupGitignoreEntry,
|
|
51
51
|
ensureRuntimeArtifactGitignoreEntries,
|
|
52
|
+
ensureLocalGovernanceGitignoreEntries,
|
|
52
53
|
} from '../backup.mjs';
|
|
53
54
|
import {
|
|
54
55
|
runProjectDiscovery,
|
|
@@ -384,6 +385,25 @@ export async function runInitCommand(targetDirectoryArgument, initOptions = {})
|
|
|
384
385
|
);
|
|
385
386
|
}
|
|
386
387
|
|
|
388
|
+
const shouldKeepLocalOnly = typeof initOptions.localOnly === 'boolean'
|
|
389
|
+
? initOptions.localOnly
|
|
390
|
+
: isInteractiveSession
|
|
391
|
+
? await askYesNo(
|
|
392
|
+
'Add AI instructions and governance files to .gitignore? (Prevents pushing them to GitHub/Git)',
|
|
393
|
+
userInterface,
|
|
394
|
+
false
|
|
395
|
+
)
|
|
396
|
+
: false;
|
|
397
|
+
|
|
398
|
+
if (shouldKeepLocalOnly) {
|
|
399
|
+
const localGovernanceGitignoreResult = await ensureLocalGovernanceGitignoreEntries(resolvedTargetDirectoryPath);
|
|
400
|
+
if (localGovernanceGitignoreResult.status !== 'unchanged') {
|
|
401
|
+
console.log(
|
|
402
|
+
`AI governance files ignored in .gitignore (${localGovernanceGitignoreResult.addedEntries.join(', ')}).`
|
|
403
|
+
);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
|
|
387
407
|
await copyGovernanceAssetsToTarget(resolvedTargetDirectoryPath, {
|
|
388
408
|
includeMcpTemplate: shouldIncludeMcpTemplate,
|
|
389
409
|
});
|
|
@@ -523,6 +543,7 @@ export async function runInitCommand(targetDirectoryArgument, initOptions = {})
|
|
|
523
543
|
selectedBlueprintFileName: selectedResolvedBlueprintFileName,
|
|
524
544
|
selectedAdditionalBlueprintFileNames,
|
|
525
545
|
includeCiGuardrails,
|
|
546
|
+
localOnly: shouldKeepLocalOnly,
|
|
526
547
|
setupDurationMs,
|
|
527
548
|
projectDetection,
|
|
528
549
|
runtimeEnvironment: {
|
package/lib/cli/compiler.mjs
CHANGED
|
@@ -145,6 +145,7 @@ export async function writeOnboardingReport({
|
|
|
145
145
|
selectedBlueprintFileName,
|
|
146
146
|
selectedAdditionalBlueprintFileNames = [],
|
|
147
147
|
includeCiGuardrails,
|
|
148
|
+
localOnly = false,
|
|
148
149
|
setupDurationMs,
|
|
149
150
|
projectDetection,
|
|
150
151
|
runtimeEnvironment = null,
|
|
@@ -197,6 +198,7 @@ export async function writeOnboardingReport({
|
|
|
197
198
|
agentDecisionRequired: !hasExplicitRuntimeDecision,
|
|
198
199
|
},
|
|
199
200
|
ciGuardrailsEnabled: includeCiGuardrails,
|
|
201
|
+
localOnly,
|
|
200
202
|
setupDurationMs,
|
|
201
203
|
runtimeEnvironment,
|
|
202
204
|
containerizationStrategy: buildContainerizationStrategySnapshot(dockerStrategy),
|
package/lib/cli/init-options.mjs
CHANGED
|
@@ -24,6 +24,7 @@ export function parseInitArguments(commandArguments) {
|
|
|
24
24
|
memoryContinuity: true,
|
|
25
25
|
tokenAgent: 'copilot',
|
|
26
26
|
includeMcpTemplate: false,
|
|
27
|
+
localOnly: undefined,
|
|
27
28
|
scaffoldDocs: undefined,
|
|
28
29
|
docsLang: 'en',
|
|
29
30
|
docsLangProvided: false,
|
|
@@ -143,6 +144,16 @@ export function parseInitArguments(commandArguments) {
|
|
|
143
144
|
continue;
|
|
144
145
|
}
|
|
145
146
|
|
|
147
|
+
if (currentArgument === '--local-only') {
|
|
148
|
+
parsedInitOptions.localOnly = true;
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (currentArgument === '--no-local-only') {
|
|
153
|
+
parsedInitOptions.localOnly = false;
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
|
|
146
157
|
if (currentArgument === '--scaffold-docs') {
|
|
147
158
|
parsedInitOptions.scaffoldDocs = true;
|
|
148
159
|
continue;
|