-
Notifications
You must be signed in to change notification settings - Fork 95
Add Windows PowerShell GOOGLE_API_KEY verification command #310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add visual presentation section to preface with: - Embedded Google Slides iframe with polished styling - Prominent CTA to view full slideshow in presentation mode - Action-oriented title emphasizing AI agents and reusable intelligence - Enhanced iframe with borders, shadows, and responsive design - Positioned after "What This Book Is About" for optimal context 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Reposition Google Slides presentation to appear immediately after opening hook: - Show before tell: visual overview first, detailed text second - Better engagement: readers preview the journey visually upfront - Multi-modal from start: appeals to visual learners immediately - Creates excitement before diving into detailed explanations 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…ve fixes ## Summary Added professional-grade free alternative for Claude Code setup using Google Gemini API, positioned as Lesson 3 with all subsequent lessons renumbered. Fixed 8 critical technical issues and ensured full consistency across Chapter 5. ## New Content - **Lesson 3**: Free Claude Code Setup with Google Gemini ($0/month, 1,500 req/day) - Complete setup via copy-paste (5 minutes) - Identical Claude Code features (subagents, skills, MCP, hooks) - Professional backend abstraction pattern (claude-code-router) - B1 proficiency, 9 concepts, Layer 1 pedagogy ## Technical Fixes (Lesson 3) 1. Model name: gemini-2.0-flash-exp → gemini-2.0-flash (correct OpenAI endpoint) 2. Windows setup: Added "Run as Administrator" + full PowerShell restart 3. Bash detection: Added \`echo \$SHELL\` check with conditional instructions 4. Setup verification: New section with 3 verification commands 5. Router timing: Explicit wait instruction before starting Claude 6. Free tier clarity: Expanded to 4 bullet points (timezone, quota, scalability) 7. Rate limit (429): Added Problem panaversity#3 with solution and dashboard link 8. Verification workflow: Simplified to \`claude\` → \`hi\` (1 minute) ## Structural Changes ### Lesson Renumbering (Lessons 3-11) - Lesson 3: CLAUDE.md Context Files → Lesson 4 - Lesson 4: MCP Integration → Lesson 5 - Lesson 5: Subagents and Orchestration → Lesson 6 - Lesson 6: Agent Skills → Lesson 7 - Lesson 7: Hooks and Extensibility → Lesson 8 - Lesson 8: Settings Hierarchy → Lesson 9 - Lesson 9: Plugins: Putting It All Together → Lesson 10 - Quiz: Lesson 10 → Lesson 11 ### File Renaming (9 files) - 02-extension-free-claude-setup.md → 03-free-claude-setup.md - 03-claude-md-context-files.md → 04-claude-md-context-files.md - 04-mcp-integration.md → 05-mcp-integration.md - 05-subagents-and-orchestration.md → 06-subagents-and-orchestration.md - 06-agent-skills.md → 07-agent-skills.md - 07-hooks-and-extensibility.md → 08-hooks-and-extensibility.md - 08-settings-hierarchy.md → 09-settings-hierarchy.md - 09-plugins-putting-it-all-together.md → 10-plugins-putting-it-all-together.md - 10_chapter_05_quiz.md → 11_chapter_05_quiz.md ### Metadata Updates - All sidebar_position values: Sequential 1-11 - All lesson numbers: Sequential 1-10 + quiz - Fixed Lesson 7 metadata (was 6, now 7) - Fixed Lesson 10 metadata (was 9, now 10) - Quiz references: Updated 50+ "Lesson X:" references to match new numbers ### Documentation Updates - Chapter 5 README: "Lesson 2-Extension" → "Lesson 3" - Lesson 2: Added signpost directing to Lesson 3 for free alternative - Lesson 3: Removed decision-oriented framing, positioned as factual alternative ## Quality Assurance ✅ Build: SUCCESS (exit code 0) ✅ All Open Graph images generated ✅ No new broken links or anchors ✅ All lesson metadata sequential (1-11) ✅ Quiz references accurate ✅ Professional pedagogical standards maintained ## Impact - **Global Accessibility**: Removes $20/month barrier for 95% of students - **Professional Standards**: Both setups (official + free) treated equally - **Feature Parity**: All Claude Code capabilities work identically - **Learning Value**: Free setup teaches API architecture as bonus 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…ased on code lines and update minimum height in styles
…nsiveness, including padding, font sizes, and button dimensions
…aude-setup-lesson-3 feat(chapter-5): Add free Claude Code setup as Lesson 3 + comprehensive fixes
…styles for improved aesthetics and responsiveness
… to enhance layout consistency
…a newline for better readability
…hon format for enhanced interactivity
…hon format for enhanced interactivity
…ng states to prevent stale closures and enhance keyboard shortcut functionality
…in a ref to ensure fresh execution in keyboard shortcuts
…n type utilities section
…naversity#281 from panaversity/030-chapter13
…t dependencies for accuracy
- Add auth.py with JWTTokenVerifier for token validation - Fix MCP SDK auth settings requirement (always create AuthSettings when enabled) - Update config.py with JWT auth properties (auth_enabled treats empty string as disabled) - Fix server.py startup message to show JWT auth status - Mark legacy api_key as deprecated/non-functional - Add comprehensive JWT auth tests (20 tests) - Update .env.example with all environment variables including JWT auth options - Add JWT Authentication section to docs/SETUP.md Auth is disabled by default. Requires external OAuth provider (Auth0, Keycloak, etc.) to issue tokens. Set PANAVERSITY_JWT_SECRET to enable. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Reworked all Chapter 15 (AI Sales Assistant Capstone) lessons using proper /sp.loopflow.v2 workflow with content-implementer subagents and skill application (learning-objectives, ai-collaborate-teaching, content-evaluation-framework). Key improvements: - All 8 lessons enhanced with 90%+ hands-on ratio - Constitutional compliance validated (zero meta-commentary violations) - CEFR B1 proficiency alignment with Bloom's Apply/Analyze levels - Three Roles framework applied invisibly (no role labels exposed) - "Try With AI" sections with specific, contextual prompts - Clear success criteria and verification steps for each lesson Lesson enhancements: - 01: Project Setup with executable verification steps - 02: Feature 1 Lead Profiler with complete JSON schemas - 03: Feature 2 ICP Scorer with pipeline architecture - 04: Feature 3 Outreach Generator with template system - 05: Feature 4 Campaign Dashboard with 50% target measurement - 06: Skill Creation with P+Q+P framework and Feature 5 exercise - 07: Ship + Retrospective with git workflow and TIME_TRACKER - 08: Quiz with 14 questions covering all chapter concepts Validation: 93/100 overall quality score, ready for publication. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…cy metadata Added comprehensive YAML frontmatter to all Chapter 15 lessons following the lesson-template.md output style specification: Metadata added to each lesson: - chapter/lesson numbers and duration_minutes - Pedagogical layer metadata (Layer 3/4 for capstone) - Hidden skills metadata with CEFR proficiency levels (A2/B1) - Bloom's taxonomy alignment (Apply/Analyze/Evaluate/Create) - DigComp 2.1 area mapping - Measurable proficiency indicators - Learning objectives with assessment methods - Cognitive load tracking (new vs reused concepts) - Differentiation guidance (extension/remedial) - Generation metadata for traceability Skills covered across chapter: - Creating Project Constitutions (B1) - Writing Feature Specifications (B1) - Executing SDD-RI Workflow (B1) - Pipeline Architecture Design (B1) - Pattern Recognition for Skill Creation (B1) - P+Q+P Skill File Design (B1) - Intelligence Accumulation Measurement (B1) - Retrospective Documentation (B1) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
… build time - Add MCP HTTP client for JSON-RPC communication with PanaversityFS server - Update plugin to write 300 files to docs/ folder from server (scope=book) - Add production Dockerfile with correct PYTHONPATH and health check - Add .env.example for book-source with plugin configuration - Update .gitignore with docs/ entry (commented, for production use) Tested: Full build pipeline fetches content from Cloudflare R2 backend 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add excludePatterns option to filter files during docs/ write - .summary.md files stored in R2 but not written to Docusaurus docs/ - Enables AI summaries to coexist with lesson content without appearing in book - Filter at render time, not storage time (per Option B) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…ce System BREAKING CHANGE: Complete rewrite of Chapter 15 from "AI Sales Assistant" to "Personal AI Business Intelligence" using accessible AI tools. Why the redesign: - Original chapter required Python code but students haven't learned Python yet (Part 4 comes before Part 5 where Python is introduced) - Sales Assistant required leads students don't have - New design uses only Gemini App + NotebookLM (free, accessible) - Students use their OWN data (LinkedIn, GitHub, portfolio) New 4-feature pipeline: - F1: Personal Brand Profiler (Gemini App) - Analyze your profile - F2: Market Intelligence Scanner (NotebookLM) - Research target market - F3: Content Strategy Generator (Gemini App) - Synthesize F1+F2 - F4: Action Dashboard (Gemini App) - Unified view with actions No Python code required - all features use AI tools with structured prompts. Students validate outputs against constitution quality gates. Intelligence accumulation target: F4 < 50% of F1 time. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
deploy.yml: - Add PANAVERSITY_PLUGIN_ENABLED env var (uses repository variable) - Add PANAVERSITY_SERVER_URL env var (from secrets) - Plugin disabled by default, uses existing docs/ folder sync-content.yml (NEW): - Triggers on pushes to book-source/docs/** - Uploads changed markdown files to R2 via MCP server - Supports full_sync option via workflow_dispatch - Only runs when PANAVERSITY_PLUGIN_ENABLED=true Required secrets/variables in GitHub: - vars.PANAVERSITY_PLUGIN_ENABLED: 'true' to enable - secrets.PANAVERSITY_SERVER_URL: MCP server endpoint - secrets.PANAVERSITY_API_KEY: API key for writes (optional) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…itecture Architecture change: - docs/: Local sample content for development (no server needed) - docsfs/: Generated content from MCP server (gitignored) Benefits: - UI/technical devs can work without running MCP server - Local development uses docs/ by default - Production builds fetch from server to docsfs/ - Content separation is cleaner and explicit Changes: - docusaurus.config.ts: Dynamic docs path based on PANAVERSITY_PLUGIN_ENABLED - Plugin: Default output changed from docs/ to docsfs/ - .gitignore: Add docsfs/ (always generated) - .env.example: Document the two-folder architecture Usage: - Plugin disabled (default): Docusaurus reads from docs/ - Plugin enabled: Docusaurus reads from docsfs/ (fetched from MCP server) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Implement composable design pattern for content and assets: - Assets: Managed by authors/agents, uploaded to CDN with full URLs - Content: Synced via CI workflow (content-only) Changes: - sync-content.yml: Updated to content-only sync, better documentation - validate-content.yml: NEW workflow to reject PRs with local asset refs PR validation checks for: -  markdown image references -  markdown references - src="/img/..." HTML attributes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…ssons Replace manual file creation with proper SDD-RI workflow commands: - Lesson 01: Use specifyplus init and /sp.constitution - Lessons 02-05: Full /sp.specify → /sp.plan → /sp.tasks → /sp.implement - Each feature now has proper SDD-RI artifacts (spec.md, plan.md, tasks.md, output/) - Checkpoint pattern at phase boundaries for human review - Update skill creation to SDD-RI Specification Design and Checkpoint Implementation - Update quiz questions for specifyplus workflow - Update project structure to specs/ directory organization This ensures Chapter 15 properly uses the Spec-Kit Plus workflow taught in Chapter 14. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Changes: - Add dotenv to load .env files for local development - Fix MCP HTTP client to use params wrapper (server uses Pydantic models) - Remove placeholder index.md creation (caused cache issues) - Plugin now successfully fetches 300 files from MCP server Tested locally with MCP server - content fetches correctly from R2. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The validate-content workflow was checking the ENTIRE book-source/docs/ folder, which would fail PRs if existing content had local asset refs even if the PR didn't add any. Now uses git diff to check only files changed in the PR, enabling gradual migration of existing content to CDN URLs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Required for compliance with Apache OpenDAL dependency (Apache 2.0). NOTICE file includes attribution for OpenDAL and other key dependencies. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…uest panaversity#299 from panaversity/030-panaversity-fs feat: PanaversityFS - Agent-Native Multi-Book Storage System
…sity#306 from panaversity/001-013-chapter-capstone feat(chapter-15): Complete Personal AI Business Intelligence Capstone with Spec-Kit Plus
…iews - Add LessonContent React component with tabbed interface - Create docusaurus-summaries-plugin to read .summary.md files at build time - Add DocItem/Content theme swizzle to wrap lessons with tab UI - Support Polar Night theme with monochromatic navy/charcoal/gray palette - Include keyboard navigation (arrow keys) and ARIA accessibility - Tab UI only appears when corresponding .summary.md file exists - Add sample summary for 08-traditional-cs-education-gaps lesson 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The summary injection is handled by docusaurus-summaries-plugin using global data approach (usePluginData hook), making the remark plugin approach redundant. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…ull request panaversity#307 from panaversity/030-panaversity-fs
…sons 6-9 - Lesson 6 (Memory Files): Core concept of persistent memory across sessions - Lesson 7 (Tool Selection): Framework for choosing Claude Code vs Gemini CLI - Lesson 8 (Hands-On Debugging): Diagnostic and remediation strategies for context problems - Lesson 9 (Capstone): Specification-driven design for context orchestration system Each summary extracts: - Core concept (single-sentence essence) - Key mental models (5 foundational frameworks) - Critical patterns (5 applied techniques) - AI collaboration keys (how AI assists) - Common mistakes (5 anti-patterns) - Connections (prerequisites and follow-up concepts) Summaries use Socratic extraction method without re-teaching lesson content.
… (lessons 1-4) Extracted summaries for: - Lesson 1: Vague Code and the AI Partner Problem (cost of unclear specs) - Lesson 2: Why Specs Matter NOW (historical context and AI convergence) - Lesson 3: What is SDD (specification anatomy and quality checklist) - Lesson 4: Build Your First Spec Together (collaborative spec-writing workflow) Each summary extracted using Socratic questioning framework: - Core concept (one essential takeaway) - Key mental models (frameworks installed) - Critical patterns (practical techniques) - AI collaboration keys (how AI assists) - Common mistakes (where students go wrong) - Connections (prerequisites and next topics) Generated with summary-generator skill using lesson content analysis. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…rator skill Add comprehensive lesson summaries using Socratic extraction process: - Part 1: 26 summaries (Chapters 1-4: AI Development Revolution, Turning Point, Billion-Dollar AI, Nine Pillars) - Part 2: 39 summaries (Chapters 5-9: Claude Code, Gemini CLI, Bash, AI-Native IDEs, Git/GitHub) - Part 3: 22 summaries (Chapters 10-12: Markdown, Prompt Engineering, Context Engineering) - Part 4: 19 summaries (Chapters 13-14: SDD Fundamentals, SpecKit+ Hands-On) Each summary follows standardized format: - Core Concept (essential takeaway) - Key Mental Models (reusable thinking patterns) - Critical Patterns (actionable techniques) - AI Collaboration Keys (how AI assists) - Common Mistakes (anti-patterns) - Connections (prerequisites and next topics) Also includes: - New summary-generator skill in .claude/skills/ - Cleanup of obsolete skill backup files - Format normalization (### headings, removed extra sections) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…y-generator skill pull request panaversity#308 from panaversity/030-panaversity-fs
…als, AI Product Leadership) - Generate 105 summaries for Part 5 (Chapters 16-33: Python Fundamentals) - Generate 7 summaries for Part 6 (Chapters 34-36: AI Product Leadership) - All summaries use ### (h3) headings per template - Consistent 6-section structure: Core Concept, Key Mental Models, Critical Patterns, AI Collaboration Keys, Common Mistakes, Connections - Applied Socratic extraction methodology for meaningful content Chapters covered: - Ch 16: UV Package Manager (9 lessons) - Ch 17: Introduction to Python (5 lessons) - Ch 18: Data Types (5 lessons) - Ch 19: Operators, Keywords, Variables (5 lessons) - Ch 20: Strings & Type Casting (5 lessons) - Ch 21: Control Flow & Loops (5 lessons) - Ch 22: Lists, Tuples, Dictionaries (11 lessons) - Ch 23: Sets, Frozensets, GC (6 lessons) - Ch 24: Modules & Functions (5 lessons) - Ch 25: Exception Handling (5 lessons) - Ch 26: I/O & File Handling (5 lessons) - Ch 27: Math, Datetime, Calendar (6 lessons) - Ch 28: OOP Part 1 (5 lessons) - Ch 29: OOP Part 2 (5 lessons) - Ch 30: Metaclasses & Dataclasses (5 lessons) - Ch 31: Pydantic & Generics (6 lessons) - Ch 32: Asyncio (6 lessons) - Ch 33: CPython & GIL (6 lessons) - Ch 34-36: AI Product Leadership (7 lessons) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…damentals, AI Product Leadership) pull request panaversity#309 from panaversity/030-panaversity-fs
…rts 7-13 - Delete Part 6 directory (06-AI-Product-Leadership) containing chapters 34-36 - Rename Part directories: 07→06, 08→07, 09→08, 10→09, 11→10, 12→11, 13→12 - Update chapter-index.md with new part/chapter numbers (86→83 chapters) - Clean up backup files (chapter-index-NEW.md, chapter-index.md.backup) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Deploy workflow now waits for sync-content to complete before building. This fixes the issue where deploy.yml would fail because the MCP server wasn't warmed up when sync-content hadn't run yet. Changes: - Add workflow_run trigger to wait for "Sync Content to R2" completion - Exclude book-source/docs/** from direct push trigger (goes through sync) - Add conditions to skip build/deploy if sync workflow failed - Handle case where sync is skipped (PanaversityFS disabled) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Fix fallback logic to check if docsfs/ has actual content, not just exists (the directory is pre-created empty, so existence check was always true) - Add retry logic to ping() with 3 attempts, 10s timeout, 2s delay between - Provide clearer error messages when server is unavailable - Log retry attempts for debugging in CI This provides defense-in-depth alongside the workflow dependency fix. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Added command: echo $env:GOOGLE_API_KEY
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added echo $env:GOOGLE_API_KEY for Windows users in the free Claude Code setup guide.