@promptbook/google 0.114.0-47 → 0.114.0-49

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.
Files changed (44) hide show
  1. package/README.md +44 -25
  2. package/esm/index.es.js +1 -1
  3. package/esm/src/cli/cli-commands/coder/agentCliOptions.d.ts +5 -0
  4. package/esm/src/cli/cli-commands/coder/coderAgentRole.d.ts +5 -0
  5. package/esm/src/cli/cli-commands/coder/coderReferencedArtifacts.d.ts +2 -2
  6. package/esm/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.d.ts +3 -2
  7. package/esm/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.test.d.ts +1 -0
  8. package/esm/src/cli/cli-commands/coder/findLegacyCoderCheckCallers.d.ts +5 -0
  9. package/esm/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +6 -0
  10. package/esm/src/cli/cli-commands/coder/mergeStringRecordJsonFile.d.ts +5 -3
  11. package/esm/src/cli/cli-commands/coder/planning/runPlanningSession.d.ts +3 -0
  12. package/esm/src/cli/cli-commands/coder/prepareCoderPackageJsonScripts.d.ts +12 -0
  13. package/esm/src/cli/cli-commands/coder.d.ts +1 -1
  14. package/esm/src/cli/cli-commands/common/coderCheckCliOptions.d.ts +21 -0
  15. package/esm/src/cli/cli-commands/common/coderCheckCliOptions.test.d.ts +1 -0
  16. package/esm/src/cli/cli-commands/common/projectCliOptions.d.ts +30 -0
  17. package/esm/src/cli/cli-commands/common/projectCliOptions.test.d.ts +1 -0
  18. package/esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +1 -1
  19. package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +1 -1
  20. package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +1 -1
  21. package/esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +1 -1
  22. package/esm/src/version.d.ts +1 -1
  23. package/package.json +2 -2
  24. package/umd/index.umd.js +1 -1
  25. package/umd/src/cli/cli-commands/coder/agentCliOptions.d.ts +5 -0
  26. package/umd/src/cli/cli-commands/coder/coderAgentRole.d.ts +5 -0
  27. package/umd/src/cli/cli-commands/coder/coderReferencedArtifacts.d.ts +2 -2
  28. package/umd/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.d.ts +3 -2
  29. package/umd/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.test.d.ts +1 -0
  30. package/umd/src/cli/cli-commands/coder/findLegacyCoderCheckCallers.d.ts +5 -0
  31. package/umd/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +6 -0
  32. package/umd/src/cli/cli-commands/coder/mergeStringRecordJsonFile.d.ts +5 -3
  33. package/umd/src/cli/cli-commands/coder/planning/runPlanningSession.d.ts +3 -0
  34. package/umd/src/cli/cli-commands/coder/prepareCoderPackageJsonScripts.d.ts +12 -0
  35. package/umd/src/cli/cli-commands/coder.d.ts +1 -1
  36. package/umd/src/cli/cli-commands/common/coderCheckCliOptions.d.ts +21 -0
  37. package/umd/src/cli/cli-commands/common/coderCheckCliOptions.test.d.ts +1 -0
  38. package/umd/src/cli/cli-commands/common/projectCliOptions.d.ts +30 -0
  39. package/umd/src/cli/cli-commands/common/projectCliOptions.test.d.ts +1 -0
  40. package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +1 -1
  41. package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +1 -1
  42. package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +1 -1
  43. package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +1 -1
  44. package/umd/src/version.d.ts +1 -1
package/README.md CHANGED
@@ -600,7 +600,7 @@ Promptbook Coder is **not another standalone coding model**. It is an orchestrat
600
600
 
601
601
  - prompt files with explicit statuses like `[ ]`, `[^]`, `[x]`, and `[-]`
602
602
  - automatic selection of the next runnable task, including priority support
603
- - optional shared repo context loaded from a file such as `AGENTS.md`
603
+ - shared project context loaded from `AGENTS.md` by default
604
604
  - automatic `git add`, commit, and push after each successful prompt
605
605
  - dedicated coding-agent Git identity and optional GPG signing
606
606
  - verification and repair flow for work that is done, partial, or broken
@@ -622,7 +622,7 @@ Prompts marked with `[-]` are not ready yet, prompts containing `@@@` are treate
622
622
  #### Features
623
623
 
624
624
  - **Multi-runner execution:** `openai-codex`, `github-copilot`, `cline`, `claude-code`, `opencode`, `gemini`, `qwen-code`
625
- - **Context injection:** `--agent agents/coding/developer.book --context AGENTS.md` or inline extra instructions
625
+ - **Project defaults:** Developer, invocation cwd, and project `AGENTS.md`; `--agent`, `--path`, and `--context` independently override them
626
626
  - **Reasoning control:** `--thinking-level low|medium|high|xhigh` for supported runners
627
627
  - **Unattended or interactive runs:** default auto mode, or `--no-auto` to wait for user confirmation before each prompt
628
628
  - **Git safety:** clean working tree check by default, or `--git-changes ignore` to keep the changes and `--git-changes continue` to resume an interrupted prompt
@@ -642,11 +642,11 @@ npx ts-node ./src/cli/test/ptbk.ts coder generate-boilerplates --template prompt
642
642
 
643
643
  npx ts-node ./src/cli/test/ptbk.ts coder generate-boilerplates --template prompts/templates/agents-server.md
644
644
 
645
- npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --context AGENTS.md
645
+ npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book
646
646
 
647
- npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --context AGENTS.md --auto-push
647
+ npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --auto-push
648
648
 
649
- npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --context AGENTS.md --git-changes ignore
649
+ npx ts-node ./src/cli/test/ptbk.ts coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --git-changes ignore
650
650
 
651
651
  npx ts-node ./src/cli/test/ptbk.ts coder find-refactor-candidates
652
652
 
@@ -668,11 +668,11 @@ ptbk coder generate-boilerplates
668
668
 
669
669
  ptbk coder generate-boilerplates --template prompts/templates/common.md
670
670
 
671
- ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --context AGENTS.md --test npm run test
671
+ ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --check "npm run check"
672
672
 
673
- ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --context AGENTS.md --auto-push
673
+ ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --auto-push
674
674
 
675
- ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --context AGENTS.md --test npm run test --git-changes ignore
675
+ ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --check "npm run check" --git-changes ignore
676
676
 
677
677
  ptbk coder find-refactor-candidates
678
678
 
@@ -689,33 +689,52 @@ ptbk coder verify
689
689
  | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------ | ---- | ----- | ------------------------------------------------------------------------ |
690
690
  | `ptbk coder init` | Creates `prompts/`, `prompts/done/`, the project-generic template files materialized in `prompts/templates/` (currently `common.md`), and a starter `AGENTS.md`; ensures `.env` contains `CODING_AGENT_GIT_NAME`, `CODING_AGENT_GIT_EMAIL`, and `CODING_AGENT_GIT_SIGNING_KEY`; adds helper coder scripts to `package.json`; ensures `.gitignore` contains `/.promptbook`; and configures `.vscode/settings.json` to save pasted prompt images into `prompts/screenshots/`. |
691
691
  | `ptbk coder generate-boilerplates` | Creates new prompt markdown files with fresh emoji tags so you can quickly fill in coding tasks; `--template` accepts either a built-in alias or a markdown file path relative to the project root. |
692
- | `ptbk coder run` | Picks the next ready prompt, can run tests before coding to stop or repair pre-existing failures, appends optional context, runs it through the selected coding agent, can optionally verify each attempt with a shell test command and feed failing output back for retries, then marks success or failure, commits the result, and pushes only when `--auto-push` is enabled. |
692
+ | `ptbk coder run` | Picks the next ready prompt, can run project checks before coding to stop or repair pre-existing failures, appends optional context, runs it through the selected coding agent, can optionally check each attempt with the project command and feed failing output back for retries, then marks success or failure, commits the result, and pushes only when `--auto-push` is enabled. |
693
693
  | `ptbk coder find-refactor-candidates` | Scans the repository for oversized or overpacked files and writes prompt files for likely refactors; `--level <xlow | low | medium | high | xhigh | extreme>` ranges from a very benevolent scan to a very aggressive sweep. |
694
694
  | `ptbk coder verify` | Walks through completed prompts, archives truly finished work, and adds follow-up repair prompts for unfinished results. |
695
695
 
696
696
  #### Most useful `ptbk coder run` flags
697
697
 
698
- | Flag | Purpose |
699
- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
700
- | `--harness <name>` | Selects the coding harness. |
701
- | `--model <model>` | Chooses the runner model; required for `openai-codex`, `gemini` and `qwen-code`, optional for `github-copilot`. |
702
- | `--context <text-or-file>` | Appends extra instructions inline or from a file like `AGENTS.md`. |
703
- | `--test <command>` | Runs a verification command after each prompt attempt and feeds failing output back for retries. |
704
- | `--test-before <mode>` | Runs tests before coding: `no` (default), `yes-and-fail` (stop with results), or `yes-and-fix` (create one repair prompt first); defaults to `npm test` when enabled without `--test`. |
705
- | `--thinking-level <level>` | Sets reasoning effort for supported runners. |
706
- | `--no-auto` | Waits for user confirmation before each prompt instead of running automatically through the queue. |
707
- | `--git-changes <mode>` | Decides what happens with a dirty working tree: `fail` (default), `ignore` to keep the changes, or `continue` to resume the single interrupted `[^]` prompt with them. |
708
- | `--priority <n>` | Runs only prompts at or above the given priority. |
709
- | `--dry-run` | Prints which prompts are ready instead of executing them. |
710
- | `--allow-credits` | Lets OpenAI Codex spend credits when required. |
711
- | `--auto-push` | Pushes each successful coding-agent commit to the configured remote. |
712
- | `--auto-migrate` | Runs testing-server database migrations after each successful prompt. |
698
+ A **check** is the project's aggregate validation: tests, linting, typechecking, builds, generated-code consistency,
699
+ and other quality checks. `ptbk init` and `ptbk coder init` preserve an existing `scripts.check`, or compose available
700
+ validation scripts and report their scope. Configure the failing setup placeholder if the project has none.
701
+
702
+ ```bash
703
+ ptbk coder run --harness openai-codex --check "npm run check" --check-before yes-and-fix
704
+ ptbk coder run --harness openai-codex --check "npm run lint && npm run build && npm test"
705
+ ```
706
+
707
+ The default preflight mode remains `no`. Enabled preflight uses `npm run check` when no command is supplied;
708
+ post-prompt verification remains opt-in. Initial checks and repairs use the same command and actual process result.
709
+ Replace retired `--test` and `--test-before` with `--check` and `--check-before`. Init migrates recognized generated
710
+ scripts while preserving custom validation. For conflicts or custom callers, it reports the exact entries/files to
711
+ review: preserve the required validation in `check`, update references, then remove the unused legacy entry.
712
+ Automation that invokes `npm run test-for-ptbk-coder` must switch to `npm run check`. Restart an already-running
713
+ Coder invocation with the new flags to release its captured legacy command; initialization creates no compatibility alias.
714
+
715
+ | Flag | Purpose |
716
+ | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
717
+ | `--harness <name>` | Selects the coding harness. |
718
+ | `--agent <book>` | Selects the primary Book; defaults to the selected project's `agents/developer.book`. |
719
+ | `--path <directory>` | Selects the project; defaults to invocation cwd. Relative paths start there, not at the CLI installation or enclosing Git root. |
720
+ | `--model <model>` | Chooses the runner model; required for `openai-codex`, `gemini` and `qwen-code`, optional for `github-copilot`. |
721
+ | `--context <text-or-file>` | Replaces the default project `AGENTS.md` with inline instructions or a project-relative file; an empty value disables context. |
722
+ | `--check <command>` | Runs a verification command after each prompt attempt and feeds failing output back for retries. |
723
+ | `--check-before <mode>` | Runs project checks before coding: `no` (default), `yes-and-fail` (stop with results), or `yes-and-fix` (create one repair prompt first); defaults to `npm run check` when enabled without `--check`. |
724
+ | `--thinking-level <level>` | Sets reasoning effort for supported runners. |
725
+ | `--no-auto` | Waits for user confirmation before each prompt instead of running automatically through the queue. |
726
+ | `--git-changes <mode>` | Decides what happens with a dirty working tree: `fail` (default), `ignore` to keep the changes, or `continue` to resume the single interrupted `[^]` prompt with them. |
727
+ | `--priority <n>` | Runs only prompts at or above the given priority. |
728
+ | `--dry-run` | Prints which prompts are ready instead of executing them. |
729
+ | `--allow-credits` | Lets OpenAI Codex spend credits when required. |
730
+ | `--auto-push` | Pushes each successful coding-agent commit to the configured remote. |
731
+ | `--auto-migrate` | Runs testing-server database migrations after each successful prompt. |
713
732
 
714
733
  #### Typical usage pattern
715
734
 
716
735
  1. Initialize once with `ptbk coder init`.
717
736
  2. Customize `prompts/templates/*.md` if needed, then create or write prompt files in `prompts/`.
718
- 3. Customize the starter `AGENTS.md` with repository-specific instructions, then pass `--agent agents/coding/developer.book --context AGENTS.md`.
737
+ 3. Customize `agents/developer.book` and `AGENTS.md`; the runner selects both automatically. Use `--path` for another project or `--agent` and `--context` for explicit overrides.
719
738
  4. Run unattended batches by default, or pass `--no-auto` to confirm each prompt interactively.
720
739
  5. Finish with `ptbk coder verify` so resolved prompts are archived and broken ones get explicit repair follow-ups.
721
740
 
package/esm/index.es.js CHANGED
@@ -16,7 +16,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
16
16
  * @generated
17
17
  * @see https://github.com/webgptorg/promptbook
18
18
  */
19
- const PROMPTBOOK_ENGINE_VERSION = '0.114.0-47';
19
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-49';
20
20
  /**
21
21
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
22
22
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -20,3 +20,8 @@ export declare const CODER_AGENT_OPTION_DESCRIPTION = "Book agent providing pers
20
20
  * @private internal utility of `ptbk coder`
21
21
  */
22
22
  export declare function addCoderAgentOption(command: Program, defaultRole?: CoderAgentRole): void;
23
+ /**
24
+ * Registers the shared optional persona and context for single-agent execution or authoring.
25
+ * @private internal CLI registration helper
26
+ */
27
+ export declare function addCoderExecutionOptions(command: Program): void;
@@ -14,3 +14,8 @@ export declare const CODER_DEFAULT_AGENT_BOOK_PATHS: {
14
14
  * @private internal type of `ptbk coder`
15
15
  */
16
16
  export type CoderAgentRole = keyof typeof CODER_DEFAULT_AGENT_BOOK_PATHS;
17
+ /**
18
+ * Shared persona for optional single-agent execution and authoring; capabilities belong to the command.
19
+ * @private internal constant of project CLI commands
20
+ */
21
+ export declare const DEFAULT_CODER_AGENT_ROLE: CoderAgentRole;
@@ -25,9 +25,9 @@ export type EnsuredCoderReferencedArtifact = {
25
25
  readonly diagnostic?: string;
26
26
  };
27
27
  /**
28
- * Initializes artifacts referenced by freshly added scripts. Default Books are ensured separately.
28
+ * Initializes essential context and artifacts referenced by freshly added scripts. Books are ensured separately.
29
29
  *
30
- * For artifacts other than role Books, an existing project script does not cause default files to be created.
30
+ * AGENTS.md is essential even when every script already exists or uses implicit defaults.
31
31
  *
32
32
  * @private function of `initializeCoderProjectConfiguration`
33
33
  */
@@ -1,9 +1,10 @@
1
1
  import type { MergedStringRecordJsonFile } from './mergeStringRecordJsonFile';
2
+ import { type PreparedCoderPackageJsonScripts } from './prepareCoderPackageJsonScripts';
2
3
  /**
3
4
  * Ensures `package.json` contains the standalone Promptbook coder helper scripts.
4
5
  *
5
- * Scripts which the project already defines are kept as they are, only missing ones are added.
6
+ * Project definitions are preserved; missing scripts and narrowly recognized generated migrations are applied.
6
7
  *
7
8
  * @private function of `initializeCoderProjectConfiguration`
8
9
  */
9
- export declare function ensureCoderPackageJsonFile(projectPath: string): Promise<MergedStringRecordJsonFile>;
10
+ export declare function ensureCoderPackageJsonFile(projectPath: string): Promise<MergedStringRecordJsonFile & Omit<PreparedCoderPackageJsonScripts, 'scripts'>>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Finds external project callers conservatively; it never rewrites their shell expressions.
3
+ * @private migration safety check for the Coder initializer
4
+ */
5
+ export declare function findLegacyCoderCheckCallers(projectPath: string, legacyNames: ReadonlyArray<string>): Promise<Readonly<Record<string, ReadonlyArray<string>>>>;
@@ -20,6 +20,12 @@ export type CoderInitializationSummary = {
20
20
  readonly addedPackageJsonScriptNames: ReadonlyArray<string>;
21
21
  readonly referencedArtifactStatuses: ReadonlyArray<EnsuredCoderReferencedArtifact>;
22
22
  readonly initializedEnvVariableNames: ReadonlyArray<string>;
23
+ /** Actual preserved or generated scope of the project check. */
24
+ readonly checkScriptSummary: string;
25
+ /** Manual steps needed for custom or conflicting legacy entries. */
26
+ readonly migrationInstructions: ReadonlyArray<string>;
27
+ /** Whether validation is configured rather than still requiring setup. */
28
+ readonly isCheckConfigured: boolean;
23
29
  };
24
30
  /**
25
31
  * Creates or updates all coder configuration artifacts required in the current project.
@@ -8,6 +8,8 @@ type MergeStringRecordJsonFileOptions = {
8
8
  readonly fieldPath: string;
9
9
  readonly nextEntries: Readonly<Record<string, string>>;
10
10
  readonly ensureParentDirectoryPath?: string;
11
+ /** Optional narrowly scoped migration of existing entries before missing defaults are added. */
12
+ readonly transformExistingEntries?: (entries: Readonly<Record<string, string>>) => Readonly<Record<string, string>> | Promise<Readonly<Record<string, string>>>;
11
13
  };
12
14
  /**
13
15
  * Result of one additive string-record merge into a JSON file.
@@ -27,10 +29,10 @@ export type MergedStringRecordJsonFile = {
27
29
  /**
28
30
  * Ensures one JSON object field contains the provided string-record entries.
29
31
  *
30
- * Entries which the project already defines are **never** overridden - only missing keys are added,
31
- * so hand-tuned scripts and settings survive every repeated `ptbk coder init`.
32
+ * Entries are additive unless a caller explicitly supplies a scoped migration callback.
33
+ * Hand-tuned scripts and settings survive repeated `ptbk coder init`; migrations recognize generated entries only.
32
34
  *
33
35
  * @private function of `initializeCoderProjectConfiguration`
34
36
  */
35
- export declare function mergeStringRecordJsonFile({ projectPath, relativeFilePath, fieldPath, nextEntries, ensureParentDirectoryPath, }: MergeStringRecordJsonFileOptions): Promise<MergedStringRecordJsonFile>;
37
+ export declare function mergeStringRecordJsonFile({ projectPath, relativeFilePath, fieldPath, nextEntries, ensureParentDirectoryPath, transformExistingEntries, }: MergeStringRecordJsonFileOptions): Promise<MergedStringRecordJsonFile>;
36
38
  export {};
@@ -1,3 +1,4 @@
1
+ import { type ResolvedCoderProjectContext } from '../../../../../scripts/run-codex-prompts/common/resolveCoderProjectContext';
1
2
  import type { NormalizedPromptRunnerSelectionCliOptions } from '../../common/promptRunnerCliOptions';
2
3
  import { runPlanningHarness } from './runPlanningHarness';
3
4
  /**
@@ -16,6 +17,8 @@ export type PlanningSessionIo = {
16
17
  export declare function runPlanningSession(options: NormalizedPromptRunnerSelectionCliOptions & {
17
18
  readonly projectPath: string;
18
19
  readonly agent?: string;
20
+ readonly context?: string;
21
+ readonly projectContext?: ResolvedCoderProjectContext;
19
22
  readonly template?: string;
20
23
  readonly preexistingChangedPaths?: ReadonlySet<string>;
21
24
  }, io: PlanningSessionIo, harness?: typeof runPlanningHarness): Promise<ReadonlyMap<string, string>>;
@@ -0,0 +1,12 @@
1
+ /** Result of preparing project-owned checks and migrating recognized generated callers. @private internal initializer result */
2
+ export type PreparedCoderPackageJsonScripts = {
3
+ readonly scripts: Readonly<Record<string, string>>;
4
+ readonly checkScriptSummary: string;
5
+ readonly migrationInstructions: ReadonlyArray<string>;
6
+ readonly isCheckConfigured: boolean;
7
+ };
8
+ /**
9
+ * Preserves project scripts, creates one canonical check, and migrates only exact generated caller forms.
10
+ * @private shared package-script preparation for Coder initialization
11
+ */
12
+ export declare function prepareCoderPackageJsonScripts(existing: Readonly<Record<string, string>>, externalCallers?: Readonly<Record<string, ReadonlyArray<string>>>): PreparedCoderPackageJsonScripts;
@@ -6,7 +6,7 @@ import type { $side_effect } from '../../utils/organization/$side_effect';
6
6
  * The coder command provides utilities for automated coding:
7
7
  * - init: Initialize coder configuration in current project
8
8
  * - add: Add one ready-to-run prompt file to the queue
9
- * - plan: Discuss features with Planner and author reviewed PRDs
9
+ * - plan: Discuss features with Developer and author reviewed PRDs
10
10
  * - generate-boilerplates: Generate prompt boilerplate files
11
11
  * - find-refactor-candidates: Find files that need refactoring
12
12
  * - list: List ready prompts in priority order without running them
@@ -0,0 +1,21 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Retired aggregate option spellings and their canonical replacements, used only for migration diagnostics.
4
+ * @private shared CLI migration definitions for Coder execution
5
+ */
6
+ export declare const LEGACY_CODER_CHECK_OPTIONS: readonly [readonly ["--test", "--check"], readonly ["--test-before", "--check-before"]];
7
+ /**
8
+ * Registers the shared project check command and rejects retired aggregate-test spellings.
9
+ * @private shared CLI registration for Coder execution
10
+ */
11
+ export declare function addCoderCheckOptions(command: Command, isCheckBeforeSupported: boolean): void;
12
+ /**
13
+ * Builds the same actionable migration diagnostic for registered and direct-script entrypoints.
14
+ * @private shared CLI diagnostic for Coder execution
15
+ */
16
+ export declare function formatLegacyCoderCheckOptionError(legacyFlag: string, replacementFlag: string): string;
17
+ /**
18
+ * Normalizes shell command tokens without parsing a quoted command again or losing spaced argument boundaries.
19
+ * @private shared command normalization for Coder execution
20
+ */
21
+ export declare function normalizeCheckCommandOption(value: string | ReadonlyArray<string> | undefined): string | undefined;
@@ -0,0 +1,30 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Optional project selection shared by workspace actions, independently of Book and harness selection.
4
+ * @private internal CLI options
5
+ */
6
+ export type ProjectCliOptions = {
7
+ readonly path?: string;
8
+ };
9
+ /**
10
+ * Registers project selection without capturing a directory during command registration.
11
+ * @private internal CLI registration helper
12
+ */
13
+ export declare function addProjectPathOption(command: Command): void;
14
+ /**
15
+ * Registers additional context independently of primary-agent selection.
16
+ * @private internal CLI registration helper
17
+ */
18
+ export declare function addProjectContextOption(command: Command): void;
19
+ /**
20
+ * Captures an invocation's directory at action time. No process-global state is changed.
21
+ * @private internal CLI normalization helper
22
+ */
23
+ export declare function normalizeProjectCliOptions(options: ProjectCliOptions, invocationDirectory?: string): {
24
+ readonly projectDirectory: string;
25
+ };
26
+ /**
27
+ * Validates the selected directory before any setup writes, without selecting an enclosing Git root.
28
+ * @private shared project resolution for CLI services
29
+ */
30
+ export declare function resolveProjectDirectory(projectDirectory: string): Promise<string>;
@@ -6,4 +6,4 @@ import type { PromptbookCliInstallationStatus } from './PromptbookCliInstallatio
6
6
  *
7
7
  * @private internal utility of `promptbookCli`
8
8
  */
9
- export declare function $checkPromptbookCliInstallations(): Promise<ReadonlyArray<PromptbookCliInstallationStatus>>;
9
+ export declare function $checkPromptbookCliInstallations(projectPath?: string): Promise<ReadonlyArray<PromptbookCliInstallationStatus>>;
@@ -12,4 +12,4 @@ import type { NormalizedQuestionsCliOptions } from '../questionsCliOptions';
12
12
  * @returns `true` when at least one installation was updated and the current coder run should stop
13
13
  * @private internal utility of `promptbookCli`
14
14
  */
15
- export declare function $ensurePromptbookCliInstallations(questionsOptions: NormalizedQuestionsCliOptions): Promise<boolean>;
15
+ export declare function $ensurePromptbookCliInstallations(questionsOptions: NormalizedQuestionsCliOptions, projectPath?: string): Promise<boolean>;
@@ -9,4 +9,4 @@ import { type PromptbookCliInstallation } from './PromptbookCliInstallation';
9
9
  *
10
10
  * @private internal utility of `promptbookCli`
11
11
  */
12
- export declare function $resolvePromptbookCliInstallations(): Promise<ReadonlyArray<PromptbookCliInstallation>>;
12
+ export declare function $resolvePromptbookCliInstallations(projectPath?: string): Promise<ReadonlyArray<PromptbookCliInstallation>>;
@@ -7,4 +7,4 @@ import type { PromptbookCliInstallationStatus } from './PromptbookCliInstallatio
7
7
  * @returns `true` when the package update succeeds, `false` when it fails
8
8
  * @private internal utility of `promptbookCli`
9
9
  */
10
- export declare function $updatePromptbookCliInstallation(status: PromptbookCliInstallationStatus): Promise<boolean>;
10
+ export declare function $updatePromptbookCliInstallation(status: PromptbookCliInstallationStatus, projectPath?: string): Promise<boolean>;
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.114.0-47`).
18
+ * It follows semantic versioning (e.g., `0.114.0-48`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/google",
3
- "version": "0.114.0-47",
3
+ "version": "0.114.0-49",
4
4
  "description": "Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -96,7 +96,7 @@
96
96
  "types": "./esm/src/_packages/google.index.d.ts",
97
97
  "typings": "./esm/src/_packages/google.index.d.ts",
98
98
  "peerDependencies": {
99
- "@promptbook/core": "0.114.0-47"
99
+ "@promptbook/core": "0.114.0-49"
100
100
  },
101
101
  "dependencies": {
102
102
  "@ai-sdk/google": "2.0.97",
package/umd/index.umd.js CHANGED
@@ -23,7 +23,7 @@
23
23
  * @generated
24
24
  * @see https://github.com/webgptorg/promptbook
25
25
  */
26
- const PROMPTBOOK_ENGINE_VERSION = '0.114.0-47';
26
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-49';
27
27
  /**
28
28
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
29
29
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -20,3 +20,8 @@ export declare const CODER_AGENT_OPTION_DESCRIPTION = "Book agent providing pers
20
20
  * @private internal utility of `ptbk coder`
21
21
  */
22
22
  export declare function addCoderAgentOption(command: Program, defaultRole?: CoderAgentRole): void;
23
+ /**
24
+ * Registers the shared optional persona and context for single-agent execution or authoring.
25
+ * @private internal CLI registration helper
26
+ */
27
+ export declare function addCoderExecutionOptions(command: Program): void;
@@ -14,3 +14,8 @@ export declare const CODER_DEFAULT_AGENT_BOOK_PATHS: {
14
14
  * @private internal type of `ptbk coder`
15
15
  */
16
16
  export type CoderAgentRole = keyof typeof CODER_DEFAULT_AGENT_BOOK_PATHS;
17
+ /**
18
+ * Shared persona for optional single-agent execution and authoring; capabilities belong to the command.
19
+ * @private internal constant of project CLI commands
20
+ */
21
+ export declare const DEFAULT_CODER_AGENT_ROLE: CoderAgentRole;
@@ -25,9 +25,9 @@ export type EnsuredCoderReferencedArtifact = {
25
25
  readonly diagnostic?: string;
26
26
  };
27
27
  /**
28
- * Initializes artifacts referenced by freshly added scripts. Default Books are ensured separately.
28
+ * Initializes essential context and artifacts referenced by freshly added scripts. Books are ensured separately.
29
29
  *
30
- * For artifacts other than role Books, an existing project script does not cause default files to be created.
30
+ * AGENTS.md is essential even when every script already exists or uses implicit defaults.
31
31
  *
32
32
  * @private function of `initializeCoderProjectConfiguration`
33
33
  */
@@ -1,9 +1,10 @@
1
1
  import type { MergedStringRecordJsonFile } from './mergeStringRecordJsonFile';
2
+ import { type PreparedCoderPackageJsonScripts } from './prepareCoderPackageJsonScripts';
2
3
  /**
3
4
  * Ensures `package.json` contains the standalone Promptbook coder helper scripts.
4
5
  *
5
- * Scripts which the project already defines are kept as they are, only missing ones are added.
6
+ * Project definitions are preserved; missing scripts and narrowly recognized generated migrations are applied.
6
7
  *
7
8
  * @private function of `initializeCoderProjectConfiguration`
8
9
  */
9
- export declare function ensureCoderPackageJsonFile(projectPath: string): Promise<MergedStringRecordJsonFile>;
10
+ export declare function ensureCoderPackageJsonFile(projectPath: string): Promise<MergedStringRecordJsonFile & Omit<PreparedCoderPackageJsonScripts, 'scripts'>>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Finds external project callers conservatively; it never rewrites their shell expressions.
3
+ * @private migration safety check for the Coder initializer
4
+ */
5
+ export declare function findLegacyCoderCheckCallers(projectPath: string, legacyNames: ReadonlyArray<string>): Promise<Readonly<Record<string, ReadonlyArray<string>>>>;
@@ -20,6 +20,12 @@ export type CoderInitializationSummary = {
20
20
  readonly addedPackageJsonScriptNames: ReadonlyArray<string>;
21
21
  readonly referencedArtifactStatuses: ReadonlyArray<EnsuredCoderReferencedArtifact>;
22
22
  readonly initializedEnvVariableNames: ReadonlyArray<string>;
23
+ /** Actual preserved or generated scope of the project check. */
24
+ readonly checkScriptSummary: string;
25
+ /** Manual steps needed for custom or conflicting legacy entries. */
26
+ readonly migrationInstructions: ReadonlyArray<string>;
27
+ /** Whether validation is configured rather than still requiring setup. */
28
+ readonly isCheckConfigured: boolean;
23
29
  };
24
30
  /**
25
31
  * Creates or updates all coder configuration artifacts required in the current project.
@@ -8,6 +8,8 @@ type MergeStringRecordJsonFileOptions = {
8
8
  readonly fieldPath: string;
9
9
  readonly nextEntries: Readonly<Record<string, string>>;
10
10
  readonly ensureParentDirectoryPath?: string;
11
+ /** Optional narrowly scoped migration of existing entries before missing defaults are added. */
12
+ readonly transformExistingEntries?: (entries: Readonly<Record<string, string>>) => Readonly<Record<string, string>> | Promise<Readonly<Record<string, string>>>;
11
13
  };
12
14
  /**
13
15
  * Result of one additive string-record merge into a JSON file.
@@ -27,10 +29,10 @@ export type MergedStringRecordJsonFile = {
27
29
  /**
28
30
  * Ensures one JSON object field contains the provided string-record entries.
29
31
  *
30
- * Entries which the project already defines are **never** overridden - only missing keys are added,
31
- * so hand-tuned scripts and settings survive every repeated `ptbk coder init`.
32
+ * Entries are additive unless a caller explicitly supplies a scoped migration callback.
33
+ * Hand-tuned scripts and settings survive repeated `ptbk coder init`; migrations recognize generated entries only.
32
34
  *
33
35
  * @private function of `initializeCoderProjectConfiguration`
34
36
  */
35
- export declare function mergeStringRecordJsonFile({ projectPath, relativeFilePath, fieldPath, nextEntries, ensureParentDirectoryPath, }: MergeStringRecordJsonFileOptions): Promise<MergedStringRecordJsonFile>;
37
+ export declare function mergeStringRecordJsonFile({ projectPath, relativeFilePath, fieldPath, nextEntries, ensureParentDirectoryPath, transformExistingEntries, }: MergeStringRecordJsonFileOptions): Promise<MergedStringRecordJsonFile>;
36
38
  export {};
@@ -1,3 +1,4 @@
1
+ import { type ResolvedCoderProjectContext } from '../../../../../scripts/run-codex-prompts/common/resolveCoderProjectContext';
1
2
  import type { NormalizedPromptRunnerSelectionCliOptions } from '../../common/promptRunnerCliOptions';
2
3
  import { runPlanningHarness } from './runPlanningHarness';
3
4
  /**
@@ -16,6 +17,8 @@ export type PlanningSessionIo = {
16
17
  export declare function runPlanningSession(options: NormalizedPromptRunnerSelectionCliOptions & {
17
18
  readonly projectPath: string;
18
19
  readonly agent?: string;
20
+ readonly context?: string;
21
+ readonly projectContext?: ResolvedCoderProjectContext;
19
22
  readonly template?: string;
20
23
  readonly preexistingChangedPaths?: ReadonlySet<string>;
21
24
  }, io: PlanningSessionIo, harness?: typeof runPlanningHarness): Promise<ReadonlyMap<string, string>>;
@@ -0,0 +1,12 @@
1
+ /** Result of preparing project-owned checks and migrating recognized generated callers. @private internal initializer result */
2
+ export type PreparedCoderPackageJsonScripts = {
3
+ readonly scripts: Readonly<Record<string, string>>;
4
+ readonly checkScriptSummary: string;
5
+ readonly migrationInstructions: ReadonlyArray<string>;
6
+ readonly isCheckConfigured: boolean;
7
+ };
8
+ /**
9
+ * Preserves project scripts, creates one canonical check, and migrates only exact generated caller forms.
10
+ * @private shared package-script preparation for Coder initialization
11
+ */
12
+ export declare function prepareCoderPackageJsonScripts(existing: Readonly<Record<string, string>>, externalCallers?: Readonly<Record<string, ReadonlyArray<string>>>): PreparedCoderPackageJsonScripts;
@@ -6,7 +6,7 @@ import type { $side_effect } from '../../utils/organization/$side_effect';
6
6
  * The coder command provides utilities for automated coding:
7
7
  * - init: Initialize coder configuration in current project
8
8
  * - add: Add one ready-to-run prompt file to the queue
9
- * - plan: Discuss features with Planner and author reviewed PRDs
9
+ * - plan: Discuss features with Developer and author reviewed PRDs
10
10
  * - generate-boilerplates: Generate prompt boilerplate files
11
11
  * - find-refactor-candidates: Find files that need refactoring
12
12
  * - list: List ready prompts in priority order without running them
@@ -0,0 +1,21 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Retired aggregate option spellings and their canonical replacements, used only for migration diagnostics.
4
+ * @private shared CLI migration definitions for Coder execution
5
+ */
6
+ export declare const LEGACY_CODER_CHECK_OPTIONS: readonly [readonly ["--test", "--check"], readonly ["--test-before", "--check-before"]];
7
+ /**
8
+ * Registers the shared project check command and rejects retired aggregate-test spellings.
9
+ * @private shared CLI registration for Coder execution
10
+ */
11
+ export declare function addCoderCheckOptions(command: Command, isCheckBeforeSupported: boolean): void;
12
+ /**
13
+ * Builds the same actionable migration diagnostic for registered and direct-script entrypoints.
14
+ * @private shared CLI diagnostic for Coder execution
15
+ */
16
+ export declare function formatLegacyCoderCheckOptionError(legacyFlag: string, replacementFlag: string): string;
17
+ /**
18
+ * Normalizes shell command tokens without parsing a quoted command again or losing spaced argument boundaries.
19
+ * @private shared command normalization for Coder execution
20
+ */
21
+ export declare function normalizeCheckCommandOption(value: string | ReadonlyArray<string> | undefined): string | undefined;
@@ -0,0 +1,30 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Optional project selection shared by workspace actions, independently of Book and harness selection.
4
+ * @private internal CLI options
5
+ */
6
+ export type ProjectCliOptions = {
7
+ readonly path?: string;
8
+ };
9
+ /**
10
+ * Registers project selection without capturing a directory during command registration.
11
+ * @private internal CLI registration helper
12
+ */
13
+ export declare function addProjectPathOption(command: Command): void;
14
+ /**
15
+ * Registers additional context independently of primary-agent selection.
16
+ * @private internal CLI registration helper
17
+ */
18
+ export declare function addProjectContextOption(command: Command): void;
19
+ /**
20
+ * Captures an invocation's directory at action time. No process-global state is changed.
21
+ * @private internal CLI normalization helper
22
+ */
23
+ export declare function normalizeProjectCliOptions(options: ProjectCliOptions, invocationDirectory?: string): {
24
+ readonly projectDirectory: string;
25
+ };
26
+ /**
27
+ * Validates the selected directory before any setup writes, without selecting an enclosing Git root.
28
+ * @private shared project resolution for CLI services
29
+ */
30
+ export declare function resolveProjectDirectory(projectDirectory: string): Promise<string>;
@@ -6,4 +6,4 @@ import type { PromptbookCliInstallationStatus } from './PromptbookCliInstallatio
6
6
  *
7
7
  * @private internal utility of `promptbookCli`
8
8
  */
9
- export declare function $checkPromptbookCliInstallations(): Promise<ReadonlyArray<PromptbookCliInstallationStatus>>;
9
+ export declare function $checkPromptbookCliInstallations(projectPath?: string): Promise<ReadonlyArray<PromptbookCliInstallationStatus>>;
@@ -12,4 +12,4 @@ import type { NormalizedQuestionsCliOptions } from '../questionsCliOptions';
12
12
  * @returns `true` when at least one installation was updated and the current coder run should stop
13
13
  * @private internal utility of `promptbookCli`
14
14
  */
15
- export declare function $ensurePromptbookCliInstallations(questionsOptions: NormalizedQuestionsCliOptions): Promise<boolean>;
15
+ export declare function $ensurePromptbookCliInstallations(questionsOptions: NormalizedQuestionsCliOptions, projectPath?: string): Promise<boolean>;
@@ -9,4 +9,4 @@ import { type PromptbookCliInstallation } from './PromptbookCliInstallation';
9
9
  *
10
10
  * @private internal utility of `promptbookCli`
11
11
  */
12
- export declare function $resolvePromptbookCliInstallations(): Promise<ReadonlyArray<PromptbookCliInstallation>>;
12
+ export declare function $resolvePromptbookCliInstallations(projectPath?: string): Promise<ReadonlyArray<PromptbookCliInstallation>>;
@@ -7,4 +7,4 @@ import type { PromptbookCliInstallationStatus } from './PromptbookCliInstallatio
7
7
  * @returns `true` when the package update succeeds, `false` when it fails
8
8
  * @private internal utility of `promptbookCli`
9
9
  */
10
- export declare function $updatePromptbookCliInstallation(status: PromptbookCliInstallationStatus): Promise<boolean>;
10
+ export declare function $updatePromptbookCliInstallation(status: PromptbookCliInstallationStatus, projectPath?: string): Promise<boolean>;
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.114.0-47`).
18
+ * It follows semantic versioning (e.g., `0.114.0-48`).
19
19
  *
20
20
  * @generated
21
21
  */