From research-factory
Bootstrap a research project for the Research Paper Factory: folder structure, backbone files, project CLAUDE.md contract
How this command is triggered — by the user, by Claude, or both
Slash command
/research-factory:init-project [project name or short description]The summary Claude sees in its command listing — used to decide when to auto-load this command
Initialize the current workspace as a Research Paper Factory project. Work from the workspace root.
## Steps
1. **Check for an existing setup.** If `docs/_backbone/_STATE.md` or a `CLAUDE.md` containing "Research Paper Factory" already exists, report what is present and ask the user whether to update missing pieces only (default) or re-initialize. Never overwrite existing backbone files.
2. **Create the folder structure** (skip any that exist):
3. **Write the project contract.** Copy `${CLAUDE_PLUGIN_ROOT}/templates/PROJECT_CLAUDE.md` to `CLAUDE.md` in the workspace root. If a `CLAU...Initialize the current workspace as a Research Paper Factory project. Work from the workspace root.
Check for an existing setup. If docs/_backbone/_STATE.md or a CLAUDE.md containing "Research Paper Factory" already exists, report what is present and ask the user whether to update missing pieces only (default) or re-initialize. Never overwrite existing backbone files.
Create the folder structure (skip any that exist):
data/raw/ data/processed/ scripts/ docs/_backbone/ docs/plans/ docs/details/
output/figures/ output/slides/ jobs/slurm/logs/
Write the project contract. Copy ${CLAUDE_PLUGIN_ROOT}/templates/PROJECT_CLAUDE.md to CLAUDE.md in the workspace root. If a CLAUDE.md already exists, append the contract under a # Research Paper Factory heading instead of overwriting.
Seed backbone files in docs/_backbone/ (only if missing):
_STATE.md — phase "Initialized", today's date, empty checkpoint_STATUS.md — project name (from the command argument, or ask), status "New"_INDEX.md — table with the files just created_LESSONS.md — empty with header explaining [LEARN:category] tag format_STYLE.md — header noting "fill in journal target and table conventions"Bootstrap the pipeline map. Run:
python "${CLAUDE_PLUGIN_ROOT}/scripts/pipeline_bootstrap.py" .
If it fails (e.g. no Python), copy ${CLAUDE_PLUGIN_ROOT}/templates/_PIPELINE.yaml to docs/_backbone/_PIPELINE.yaml instead.
Protect raw data. Confirm to the user that the plugin's PreToolUse hook blocks writes to data/raw/.
Report what was created and suggest next steps: run /research-factory:strategist to plan the project, or /research-factory:idea-lab to brainstorm ideas. Remind the user that the memory-charter skill will create _CHARTER.md + _DECISIONS.md on first strategic planning session.
$ARGUMENTS
npx claudepluginhub xuxiguo/research-factory-claude --plugin research-factory/init-projectInitializes a new Task Master project via task-master init. Accepts PRD path, --name, --description, -y quick mode; sets up structure, verifies git/AI configs, suggests next steps.
/init-projectInitializes new project with essential directory structure, git repo, README, framework-specific configs (React/Vue/Angular/Express/FastAPI/etc.), TypeScript/linting/testing/build tools, and GitHub Actions CI/CD.
/init-projectInitializes new project with essential directory structure, git repo, README, framework-specific configs (React/Vue/Angular/Express/FastAPI/etc.), TypeScript/linting/testing/build tools, and GitHub Actions CI/CD.
/init-projectInitializes project by interactively generating CLAUDE.md (overview, stack, structure), spec.md (feature specs), and prompt_plan.md (phased implementation plan). Auto-detects tech stack; supports [name] [--type next|vite|go|python|rust].
/init-projectScans current codebase to auto-generate project-level CLAUDE.md with detected stack, conventions, domain context, team rules, and clarifying questions.