An easy to extend CG version of Unity's in built surface shader. It allows you to extend and customise the standard shader, or convert Surface shaders into CG.
See ExampleShader.shader and ExampleShader.cginc to see how to extend or customise a surface shader.