As noted in the other answer, you can use 'MPP' to project into the +1 or -1 eigenspace of arbitrary Pauli strings:
# Project into Steane's seven qubit code, up to sign:
# 0123456
# ___XXXX
# _XX__XX
# X_X_X_X
# ___ZZZZ
# _ZZ__ZZ
# Z_Z_Z_Z
MPP X3*X4*X5*X6
MPP X1*X2*X5*X6
MPP X0*X2*X4*X6
# Z stabilizers were already satisfied by starting in |0000000>
This has the downside of not guaranteeing you end up in the +1 eigenstate, but all fault tolerance properties still hold. Just compare future measurements to past measurements, instead of comparing to +1.
I don't recommend trying to force the +1 eigenvalue, as this requires doing extra work on the quantum computer which is expensive and noisy and just generally bad. It's way way easier to focus on tracking the state rather than asserting control over the exact state at all times. It's easier both in theory, using fewer operations, and in practice, requiring fewer capabilities from the hardware. Anyways Stim can do feedback operations, and you can use that to guide the system into the +1 eigenstates:
# Use feedback to flip any inverted signs above
CZ rec[-3] 3
CZ rec[-2] 1
CZ rec[-1] 0
Here the feedback to use is easy to figure out because each $X$ stabilizer has one qubit that only it touches. In general, the feedback to use can be solved for by using stim.TableauSimulator.measure_kickback. The kickback pauli string tells you how to flip the state to exactly match the opposite measurement result.
Not having to solve for the feedback is a great example of why you'd want to be chill about the signs, instead of trying to control them.