P Bootstrap
Overview
Use this skill to bootstrap a new project in a repeatable way, separating:
- code workspace (repo)
- project-management docs under a configured root directory
This workflow is for project initialization, not feature implementation.
Local Config
Use local machine config for stable, user-specific documentation destinations. Keep these files outside project repos and treat them as private state.
- Path config:
<CODEX_HOME>/local-config/p-bootstrap/paths.yaml - Fallback path config:
<HOME>/.codex/local-config/p-bootstrap/paths.yaml
Recommended path config shape:
version: 1
docs:
root: <absolute-project-docs-root>
docs.rootis the user-specific root that contains all kickoff project document folders, such as an Obsidian03-reqdirectory.- The skill owns the internal structure under
docs.root: create<docs.root>/<project_name>/00-overview.mdand<docs.root>/<project_name>/10-roadmap.md. - Prefer configured paths over deriving a docs root from memory.
- If no config exists and the user did not provide a docs root, ask the user for the docs root. After the user provides it, create or update the local path config before generating docs.
Workflow
Capture kickoff input.
- Required: project name, one-line objective.
- Optional: GitHub visibility (
public/private), local base directory, tech stack, docs root.
Normalize naming.
- Prefer short lowercase kebab-case names (example:
envflow). - Keep GitHub repo name, local folder name, and
03-reqfolder name consistent.
- Prefer short lowercase kebab-case names (example:
Create or rename GitHub repository.
- If repository does not exist, create it.
- If user changed the project name, rename repository and sync local
origin.
Prepare local workspace.
- Clone repo under user-selected base directory.
- Verify git remote and default branch.
Create project-management docs under the resolved docs directory.
- Resolve the docs root with this priority:
- Explicit user-provided docs root for the current request.
- Local path config from
<CODEX_HOME>/local-config/p-bootstrap/paths.yaml. - Local path config from
<HOME>/.codex/local-config/p-bootstrap/paths.yaml.
- If the docs root cannot be resolved, pause and ask the user for it; then write it to the local path config.
- Create directory:
<docs-root>/<project-name> - Create:
00-overview.md(project definition)10-roadmap.md(execution plan and verification tracking)
- Resolve the docs root with this priority:
Keep code repo clean.
- In project repo root, keep only code/config/runtime docs (for example
README.md). - Do not store project-management planning docs in code root when
03-reqis available.
- In project repo root, keep only code/config/runtime docs (for example
Confirm kickoff completeness.
- GitHub repo exists with correct name.
- Local directory exists with correct name.
<docs-root>/<project-name>/00-overview.mdexists.<docs-root>/<project-name>/10-roadmap.mdexists.
Templates
- Use
references/00-overview.template.md - Use
references/10-roadmap.template.md
Notes
- This skill is intentionally generic; requirement details vary by project.
- For implementation phases after kickoff, hand off to task-specific skills.
Script Helper
Use scripts/init_project_docs.ps1 to generate kickoff docs automatically:
pwsh -File scripts/init_project_docs.ps1 \
-ProjectName envflow \
-Objective "Build a lightweight desktop environment switch tool" \
-RepoUrl "https://github.com/askairo/envflow" \
-LocalRepoPath "<absolute-local-repo-path>" \
-DocsRoot "<absolute-docs-root>" \
-SaveConfig
It creates/updates:
<docs-root>/<project-name>/00-overview.md<docs-root>/<project-name>/10-roadmap.md
If neither local config nor explicit docs root is available, the script fails with a clear message instead of using a hard-coded docs path.