My latest incarnation of my system...
I keep a file for the list of projects -- one file for business projects and one for personal projects.
I also keep a file for each context which contains my next actions for that contexts.
---
I've also been toying with the idea of creating a single file for each project that holds the project name, description, notes, waiting fors, agendas, and next actions. If I format the file correctly, then it should be simple to write a program that can extract all the next actions into context lists. But too much going on right now to mess with it.
For now, the list-based approach is simple, and it mostly works.