Also - smug, self-satisfied, attributing to oneself superiority over others.
'Ir de chulo' is a bit more than that.
It usually involves aggressive or threatening behaviour.
It is to be threatening, aggressive or even violent - not just 'to be smug'. That is, 'to think (oneself better than everybody else)', or 'to look down on others'.
It has different levels of gradation; it goes from 'smug', as you say, to 'violent'. It may be 'to be too selfconfident', or 'have a bad attitude / to have an attitude (problem)'. But also, to be 'overbearing', 'aggressive', or 'threatening'.
I think 'cocky' ('to have a bad / cocky attitude') is a good one. Another good option is 'to be a bully'.
And also, 'to be (just) an arse / a jerk'.
"No se puede ir de chulo por la vida".
This is an informal set phrase that is usually said as a reproach. Examples;
- Es que ese va de chulo por la vida.
- Tío, tú te pasas un huevazo (= mucho / un montón)... ¡No se puede ir de chulo por la vida, así, hombre! ¡Que eso es de lo que vas tú!
In English, I'd say something like;
'You can't go around with that cocky attitude (of yours)'
'You shouldn't act like that... You really have a bad attitude / an attitude problem!'
'You shouldn't be like that... You are way too overbearing / cocky / aggressive, mate!'