@promptbook/pdf 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
@@ -409,7 +409,7 @@ Promptbook Coder is **not another standalone coding model**. It is an orchestrat
409
409
 
410
410
  - prompt files with explicit statuses like `[ ]`, `[^]`, `[x]`, and `[-]`
411
411
  - automatic selection of the next runnable task, including priority support
412
- - optional shared repo context loaded from a file such as `AGENTS.md`
412
+ - shared project context loaded from `AGENTS.md` by default
413
413
  - automatic `git add`, commit, and push after each successful prompt
414
414
  - dedicated coding-agent Git identity and optional GPG signing
415
415
  - verification and repair flow for work that is done, partial, or broken
@@ -431,7 +431,7 @@ Prompts marked with `[-]` are not ready yet, prompts containing `@@@` are treate
431
431
  #### Features
432
432
 
433
433
  - **Multi-runner execution:** `openai-codex`, `github-copilot`, `cline`, `claude-code`, `opencode`, `gemini`, `qwen-code`
434
- - **Context injection:** `--agent agents/coding/developer.book --context AGENTS.md` or inline extra instructions
434
+ - **Project defaults:** Developer, invocation cwd, and project `AGENTS.md`; `--agent`, `--path`, and `--context` independently override them
435
435
  - **Reasoning control:** `--thinking-level low|medium|high|xhigh` for supported runners
436
436
  - **Unattended or interactive runs:** default auto mode, or `--no-auto` to wait for user confirmation before each prompt
437
437
  - **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
@@ -451,11 +451,11 @@ npx ts-node ./src/cli/test/ptbk.ts coder generate-boilerplates --template prompt
451
451
 
452
452
  npx ts-node ./src/cli/test/ptbk.ts coder generate-boilerplates --template prompts/templates/agents-server.md
453
453
 
454
- 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
454
+ 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
455
455
 
456
- 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
456
+ 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
457
457
 
458
- 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
458
+ 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
459
459
 
460
460
  npx ts-node ./src/cli/test/ptbk.ts coder find-refactor-candidates
461
461
 
@@ -477,11 +477,11 @@ ptbk coder generate-boilerplates
477
477
 
478
478
  ptbk coder generate-boilerplates --template prompts/templates/common.md
479
479
 
480
- 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
480
+ ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --check "npm run check"
481
481
 
482
- ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --context AGENTS.md --auto-push
482
+ ptbk coder run --harness github-copilot --model gpt-5.4 --thinking-level xhigh --agent agents/coding/developer.book --auto-push
483
483
 
484
- 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
484
+ 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
485
485
 
486
486
  ptbk coder find-refactor-candidates
487
487
 
@@ -498,33 +498,52 @@ ptbk coder verify
498
498
  | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------ | ---- | ----- | ------------------------------------------------------------------------ |
499
499
  | `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/`. |
500
500
  | `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. |
501
- | `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. |
501
+ | `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. |
502
502
  | `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. |
503
503
  | `ptbk coder verify` | Walks through completed prompts, archives truly finished work, and adds follow-up repair prompts for unfinished results. |
504
504
 
505
505
  #### Most useful `ptbk coder run` flags
506
506
 
507
- | Flag | Purpose |
508
- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
509
- | `--harness <name>` | Selects the coding harness. |
510
- | `--model <model>` | Chooses the runner model; required for `openai-codex`, `gemini` and `qwen-code`, optional for `github-copilot`. |
511
- | `--context <text-or-file>` | Appends extra instructions inline or from a file like `AGENTS.md`. |
512
- | `--test <command>` | Runs a verification command after each prompt attempt and feeds failing output back for retries. |
513
- | `--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`. |
514
- | `--thinking-level <level>` | Sets reasoning effort for supported runners. |
515
- | `--no-auto` | Waits for user confirmation before each prompt instead of running automatically through the queue. |
516
- | `--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. |
517
- | `--priority <n>` | Runs only prompts at or above the given priority. |
518
- | `--dry-run` | Prints which prompts are ready instead of executing them. |
519
- | `--allow-credits` | Lets OpenAI Codex spend credits when required. |
520
- | `--auto-push` | Pushes each successful coding-agent commit to the configured remote. |
521
- | `--auto-migrate` | Runs testing-server database migrations after each successful prompt. |
507
+ A **check** is the project's aggregate validation: tests, linting, typechecking, builds, generated-code consistency,
508
+ and other quality checks. `ptbk init` and `ptbk coder init` preserve an existing `scripts.check`, or compose available
509
+ validation scripts and report their scope. Configure the failing setup placeholder if the project has none.
510
+
511
+ ```bash
512
+ ptbk coder run --harness openai-codex --check "npm run check" --check-before yes-and-fix
513
+ ptbk coder run --harness openai-codex --check "npm run lint && npm run build && npm test"
514
+ ```
515
+
516
+ The default preflight mode remains `no`. Enabled preflight uses `npm run check` when no command is supplied;
517
+ post-prompt verification remains opt-in. Initial checks and repairs use the same command and actual process result.
518
+ Replace retired `--test` and `--test-before` with `--check` and `--check-before`. Init migrates recognized generated
519
+ scripts while preserving custom validation. For conflicts or custom callers, it reports the exact entries/files to
520
+ review: preserve the required validation in `check`, update references, then remove the unused legacy entry.
521
+ Automation that invokes `npm run test-for-ptbk-coder` must switch to `npm run check`. Restart an already-running
522
+ Coder invocation with the new flags to release its captured legacy command; initialization creates no compatibility alias.
523
+
524
+ | Flag | Purpose |
525
+ | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
526
+ | `--harness <name>` | Selects the coding harness. |
527
+ | `--agent <book>` | Selects the primary Book; defaults to the selected project's `agents/developer.book`. |
528
+ | `--path <directory>` | Selects the project; defaults to invocation cwd. Relative paths start there, not at the CLI installation or enclosing Git root. |
529
+ | `--model <model>` | Chooses the runner model; required for `openai-codex`, `gemini` and `qwen-code`, optional for `github-copilot`. |
530
+ | `--context <text-or-file>` | Replaces the default project `AGENTS.md` with inline instructions or a project-relative file; an empty value disables context. |
531
+ | `--check <command>` | Runs a verification command after each prompt attempt and feeds failing output back for retries. |
532
+ | `--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`. |
533
+ | `--thinking-level <level>` | Sets reasoning effort for supported runners. |
534
+ | `--no-auto` | Waits for user confirmation before each prompt instead of running automatically through the queue. |
535
+ | `--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. |
536
+ | `--priority <n>` | Runs only prompts at or above the given priority. |
537
+ | `--dry-run` | Prints which prompts are ready instead of executing them. |
538
+ | `--allow-credits` | Lets OpenAI Codex spend credits when required. |
539
+ | `--auto-push` | Pushes each successful coding-agent commit to the configured remote. |
540
+ | `--auto-migrate` | Runs testing-server database migrations after each successful prompt. |
522
541
 
523
542
  #### Typical usage pattern
524
543
 
525
544
  1. Initialize once with `ptbk coder init`.
526
545
  2. Customize `prompts/templates/*.md` if needed, then create or write prompt files in `prompts/`.
527
- 3. Customize the starter `AGENTS.md` with repository-specific instructions, then pass `--agent agents/coding/developer.book --context AGENTS.md`.
546
+ 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.
528
547
  4. Run unattended batches by default, or pass `--no-auto` to confirm each prompt interactively.
529
548
  5. Finish with `ptbk coder verify` so resolved prompts are archived and broken ones get explicit repair follow-ups.
530
549
 
package/esm/index.es.js CHANGED
@@ -23,7 +23,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
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
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/pdf",
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,
@@ -95,7 +95,7 @@
95
95
  "types": "./esm/src/_packages/pdf.index.d.ts",
96
96
  "typings": "./esm/src/_packages/pdf.index.d.ts",
97
97
  "peerDependencies": {
98
- "@promptbook/core": "0.114.0-47"
98
+ "@promptbook/core": "0.114.0-49"
99
99
  },
100
100
  "dependencies": {
101
101
  "crypto-js": "4.2.0",
package/umd/index.umd.js CHANGED
@@ -25,7 +25,7 @@
25
25
  * @generated
26
26
  * @see https://github.com/webgptorg/promptbook
27
27
  */
28
- const PROMPTBOOK_ENGINE_VERSION = '0.114.0-47';
28
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-49';
29
29
  /**
30
30
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
31
31
  * 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
  */