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