bookstrap-init
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
More from mikkelkrogsholm/bookstrap
writing
Grounded prose composition workflow including pre-write queries, consistency checks, and post-write entity extraction for database-backed writing.
1editing
Comprehensive editing framework covering voice consistency, timeline verification, citation coverage, and multi-pass editing strategies for autonomous manuscript refinement.
1research
Source evaluation framework, web search strategies, and ingestion workflows for autonomous research. Includes reliability scoring, chunking strategies, entity extraction patterns, and quality thresholds.
1brd
Book Requirements Document (BRD) structure, systematic question frameworks for thorough book concept interviews, and genre-specific considerations for fiction vs nonfiction projects.
1outlining
Outline creation patterns for fiction and nonfiction book structures, including chapter breakdowns, scene planning, and narrative arc mapping.
1fact-check
Verify factual claims against database sources
1