@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 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 coding, review, planning, or governance work, run `agentic-senior-core context` first if available, or `npx @ryuenn3123/agentic-senior-core context` when only the package is available, then emit a concise Bootstrap Receipt before implementation output or file edits:
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
@@ -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: {
@@ -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),
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryuenn3123/agentic-senior-core",
3
- "version": "4.2.2",
3
+ "version": "4.2.4",
4
4
  "type": "module",
5
5
  "description": "Change your AI Agent to code like a Staff Engineer, not a Junior.",
6
6
  "bin": {