I'm not sure why you have both (counsel-projectile-mode) and (counsel-projectile-mode nil) in your .emacs file. Have you tried simply adding a hook to start (counsel-projectile-mode) when loading projectile? Delete (or comment out) the lines you currently have for counsel-projectile-mode and try this:
(add-hook 'projectile-mode-hook 'counsel-projectile-mode)...
You could use projectile-test-project (bound to C-p p P) as your debug command and projectile-compile-project (bound to C-p p c) as your release command.
projectile-toggle-between-implementation-and-test (bound to C-p p t) also seems promising but I haven't used this yet, so I can't help you set this up.