This paper describes the development and validation process of a highly automated Guidance, Navigation, & Control subsystem for a small satellite on-orbit inspection application, enabling proximity operations without human-in-the-loop interaction. The paper focuses on the integration and testing of Guidance, Navigation, & Control software and the development of decision logic to address the question of how such a system can be effectively implemented for full automation. This process is unique because a multitude of operational scenarios must be considered and a set of complex interactions between subsystem algorithms must be defined to achieve the automation goal. The Prox-1 mission is currently under development within the Space Systems Design Laboratory at the Georgia Institute of Technology. The mission involves the characterization of new small satellite component technologies, deployment of the LightSail 3U CubeSat, entering into a trailing orbit relative to LightSail using ground-in-the-loop commands, and demonstration of automated proximity operations through formation flight and natural motion circumnavigation maneuvers. Operations such as these may be utilized for many scenarios including on-orbit inspection, refueling, repair, construction, reconnaissance, docking, and debris mitigation activities. Prox-1 uses onboard sensors and imaging instruments to perform Guidance, Navigation, & Control operations during on-orbit inspection of LightSail. Navigation filters perform relative orbit determination based on images of the target spacecraft, and guidance algorithms conduct automated maneuver planning. A slew and tracking controller sends attitude actuation commands to a set of control moment gyroscopes, and other controllers manage desaturation, detumble, thruster firing, and target acquisition/recovery. All Guidance, Navigation, & Control algorithms are developed in a MATLAB/Simulink six degree-of-freedom simulation environment and are integrated using decision logic to autonomously determine when actions should be performed. The complexity of this decision logic is the primary challenge of the automated process, and the Stateflow tool in Simulink is used to establish logical relationships and manage data flow between each of the individual hardware and software components. Once the integrated simulation is fully developed in MATLAB/Simulink, the algorithms are autocoded to C/C++ and integrated into flight software. Hardware-in-the-loop testing provides validation of the Guidance, Navigation, & Control subsystem performance.