Chapter 6: Further Reading

An annotated bibliography of resources for deepening your understanding of the topics covered in this chapter.


Python Language Features

1. Python Documentation: dataclasses Module https://docs.python.org/3/library/dataclasses.html

The official Python documentation for the dataclasses module. This reference covers all decorator parameters, field options, and helper functions like asdict() and astuple(). Essential reading for understanding the data modeling approach used in the task manager. Pay particular attention to the sections on field() and default_factory, which are used extensively in our Task dataclass.

2. Python Documentation: argparse Tutorial https://docs.python.org/3/howto/argparse.html

The official argparse tutorial walks through building command-line interfaces from simple to complex. The subcommand pattern used in our task manager is covered in the "Sub-commands" section. This is the most comprehensive guide to the CLI pattern used in this chapter and in Chapter 15.

3. Python Documentation: json Module https://docs.python.org/3/library/json.html

The official reference for Python's JSON serialization and deserialization module. Covers json.dump(), json.load(), custom encoders and decoders, and formatting options like indent. Understanding JSON handling is essential for the persistence layer of any vibe-coded application that stores data locally.

4. Real Python: Data Classes in Python (An Introduction) https://realpython.com/python-data-classes/

A beginner-friendly guide to Python dataclasses with practical examples. Covers inheritance, frozen dataclasses, comparison methods, and post-init processing. Provides more context and examples than the official documentation, making it a good complement for readers who want deeper understanding of the data modeling approach used in the task manager.


Testing

5. pytest Documentation: Getting Started https://docs.pytest.org/en/stable/getting-started.html

The official pytest getting-started guide covers installation, writing tests, fixture basics, and running tests. The tmp_path fixture used in our test suite is documented in the "Temporary directories and files" section. pytest is the testing framework used throughout this textbook.

6. Real Python: Effective Python Testing with pytest https://realpython.com/pytest-python-testing/

A comprehensive tutorial on pytest covering fixtures, parametrize, markers, and test organization patterns. Goes well beyond the basics covered in this chapter and prepares you for the more advanced testing strategies in Chapter 21. The section on fixture scopes is particularly valuable for understanding when to use tmp_path versus tmp_path_factory.


Prompt Engineering

7. Anthropic: Prompt Engineering Guide https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering

Anthropic's official guide to prompt engineering for Claude. Covers techniques including being specific, providing examples, structuring prompts, and chain-of-thought reasoning. Many of the prompting patterns used in this chapter (specification prompts, example-driven prompts, iterative refinement) are formalized in this guide. This is essential preparation for Chapters 8--12.

8. OpenAI: Prompt Engineering Guide https://platform.openai.com/docs/guides/prompt-engineering

OpenAI's guide to effective prompting strategies. While written for GPT models, the principles are largely universal. Covers techniques like "write clear instructions," "provide reference text," and "split complex tasks into simpler subtasks" --- all patterns demonstrated in this chapter's vibe coding session.


Software Design

9. Martin Fowler: "Refactoring: Improving the Design of Existing Code" (2nd Edition) Addison-Wesley, 2018. ISBN: 978-0134757599.

While this chapter builds code from scratch, the principles of clean code structure and incremental improvement are directly applicable. Fowler's catalog of refactoring patterns helps you understand how to improve AI-generated code. The sections on "Extract Function" and "Replace Temp with Query" are especially relevant to cleaning up AI-generated code, which is covered in Chapters 7 and 26.

10. Eric Matthes: "Python Crash Course" (3rd Edition) No Starch Press, 2023. ISBN: 978-1718502703.

A beginner-friendly Python textbook that covers the language fundamentals used in this chapter. The project-based approach (building a game, a data visualization, and a web application) parallels our vibe coding session. Useful as a companion reference for readers who want to strengthen their Python foundations from Chapter 5 before tackling more advanced chapters.


Command-Line Application Development

11. Click Documentation https://click.palletsprojects.com/

Click is an alternative to argparse for building CLI applications in Python. While this chapter uses argparse (part of the standard library), Click offers a more declarative, decorator-based approach that many developers prefer. Chapter 15 covers Click in detail. Reviewing Click's documentation now will prepare you for the comparison between the two approaches.

12. Will McGugan: Rich Library Documentation https://rich.readthedocs.io/

The Rich library adds color, formatting, tables, progress bars, and other visual enhancements to terminal output. The enhanced task manager version (example-03-enhanced-version.py) uses basic ANSI color codes, but Rich provides a much more powerful and cross-platform solution. Chapter 15 uses Rich for building production-quality CLI tools.


Vibe Coding and AI-Assisted Development

13. Simon Willison: "AI-Enhanced Development Patterns" (Blog) https://simonwillison.net/

Simon Willison's blog is one of the most thoughtful sources on practical AI-assisted development. His posts on prompt engineering, LLM tool usage, and the workflow of building with AI assistants provide real-world context for the techniques in this chapter. His "TIL" (Today I Learned) series frequently covers specific vibe coding workflows.

14. Andrej Karpathy: "Software 2.0" and related talks https://karpathy.medium.com/software-2-0-a64152b37c35

Karpathy's influential essay and subsequent talks describe a paradigm shift in how software is created. While the essay focuses on neural network-based software, his later work on vibe coding (he coined the term in early 2025) provides the conceptual foundation for this entire textbook. Understanding his vision helps contextualize why the workflow described in this chapter represents a fundamental shift in software development.

15. GitHub: "Building with AI" Guide https://github.com/features/copilot

GitHub's documentation for Copilot includes practical guides for AI-assisted development workflows. The "Chat" feature documentation covers many of the same conversational patterns used in this chapter. Particularly relevant for readers using Copilot as their primary AI coding tool.