name: bookstrap-init description: Initialize a new book project by creating a Book Requirements Document (BRD) through guided questions argument-hint: <book concept> allowed-tools:
- Bash(*)
- Read
- Write
- AskUserQuestion
- TaskCreate
Initialize Book Project
Set up a new book project by creating a comprehensive Book Requirements Document (BRD).
Book Concept
The user wants to write: $ARGUMENTS
Workflow
This command delegates to the brd-creator agent to guide the user through BRD creation via structured questions.
Step 1: Check Prerequisites
First, verify that SurrealDB is running and accessible:
# Check if SurrealDB container is running
if docker ps | grep -q bookstrap-db; then
echo "SurrealDB is running"
else
echo "SurrealDB_NOT_RUNNING"
fi
If SurrealDB is not running, start it:
# Start SurrealDB via docker-compose
docker-compose up -d
Wait a few seconds for the database to be ready:
sleep 3
Step 2: Initialize Schema
Run the schema initialization script:
./scripts/init-schema.sh
This creates all necessary tables, fields, and indexes in SurrealDB.
Step 3: Delegate to BRD Creator
The brd-creator agent will guide the user through creating the BRD by asking structured questions about:
- Core Details: Title, genre, word count target, audience
- Thesis/Premise: One-sentence summary, core argument, reader takeaway
- Structure: Format, POV, tense, timeline approach
- Voice: Tone, comparable titles, sample passage
- Characters/Concepts: Key figures with descriptions and relationships
- Research Sources: Primary sources, secondary sources, URLs for ingestion
- Constraints: Must include, must avoid, sensitivity considerations
The agent will:
- Ask one question at a time
- Wait for user responses
- Generate a comprehensive
BRD.mdfile - Store the BRD content in the SurrealDB
brdtable
Step 4: Create Project Structure
After the BRD is created, set up the initial project structure:
# Create directories
mkdir -p manuscript
mkdir -p research
mkdir -p logs
mkdir -p data
# Create .gitignore if it doesn't exist
if [ ! -f .gitignore ]; then
cat > .gitignore << 'EOF'
# Environment
.env
# Database
data/
# Logs
logs/
# OS
.DS_Store
Thumbs.db
# Editor
.vscode/
.idea/
EOF
fi
Step 5: Create Configuration
If bookstrap.config.json doesn't exist, copy from template:
if [ ! -f bookstrap.config.json ]; then
cp templates/bookstrap.config.json bookstrap.config.json
fi
Step 6: Verify Environment
Check that required environment variables are set:
# Check for embedding provider API key
if [ -f .env ]; then
source .env
if [ -z "$GEMINI_API_KEY" ] && [ -z "$OPENAI_API_KEY" ]; then
echo "WARNING: No embedding API key found. Set GEMINI_API_KEY or OPENAI_API_KEY in .env"
fi
else
echo "NOTE: Create a .env file and add your API keys (see .env.example)"
fi
After Initialization
Return a summary including:
- BRD location and version
- Database status (running, schema initialized)
- Project directories created
- Configuration file status
- Next steps:
/bookstrap-ingestto load research materials
Notes
- The BRD can be edited later and re-ingested into the database
- The initial book concept can be as simple or detailed as desired
- The agent will ask clarifying questions to fill in any gaps
- All answers can be refined during the question process