APC ਕਲੋਨ-ਸੁਰੱਖਿਅਤ (clone-safe) ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ, APX ਮਸ਼ੀਨ-ਲੋਕਲ (machine-local) ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ
ਇੱਕ ਸਵਾਲ ਪੁੱਛ ਕੇ ਫੈਸਲਾ ਕਰੋ ਕਿ ਡਾਟਾ ਕਿੱਥੇ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
ਕੀ ਇਹ ਡਾਟਾ ਕਿਸੇ ਹੋਰ ਮਸ਼ੀਨ 'ਤੇ ਨਵੇਂ ਕਲੋਨ (fresh clone) ਤੋਂ ਬਾਅਦ ਵੀ ਬਚਿਆ ਰਹੇਗਾ?
ਜੇਕਰ ਹਾਂ, ਤਾਂ ਇਸਨੂੰ APC ਵਿੱਚ ਰੱਖੋ। ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਇਸਨੂੰ APX ਵਿੱਚ ਰੱਖੋ।
ਇਹ ਨਿਯਮ ਤੁਹਾਡੇ ਸਟੈਕ (stack) ਨੂੰ ਸਹੀ ਰੱਖਦਾ ਹੈ। APC ਪੋਰਟੇਬਲ (portable) ਰਹਿੰਦਾ ਹੈ। APX ਉਸ ਮਸ਼ੀਨ 'ਤੇ ਉਪਯੋਗੀ ਰਹਿੰਦਾ ਹੈ ਜਿੱਥੇ ਕੰਮ ਚੱਲ ਰਿਹਾ ਹੈ। ਜਦੋਂ ਇਹਨਾਂ ਪਰਤਾਂ (layers) ਵਿੱਚ ਫਰਕ ਮੁੱਕ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਸਾਂਝਾ ਕਰਨਾ ਅਤੇ ਆਡਿਟ ਕਰਨਾ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦਾ ਹੈ।
APC ਪ੍ਰੋਜੈਕਟ ਕੰਟਰੈਕਟ (contract) ਹੈ। APX ਰਨਟਾਈਮ (runtime) ਹੈ।
APC ਡਾਟਾ ਕਲੋਨ-ਸੁਰੱਖਿਅਤ ਹੈ। ਕਿਸੇ ਹੋਰ ਡਿਵੈਲਪਰ ਜਾਂ ਮਸ਼ੀਨ ਨੂੰ git checkout ਤੋਂ ਤੁਰੰਤ ਬਾਅਦ ਇਸਨੂੰ ਪੜ੍ਹਨਾ ਚਾਹੀਦਾ ਹੈ। ਇਸਨੂੰ git ਵਿੱਚ ਰਿਵਿਊ (review) ਕਰਨ ਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
APC ਦੇ ਚੰਗੇ ਉਦਾਹਰਣ: • AGENTS.md ਰੈਪੋ ਕੰਟਰੈਕਟਾਂ (repo contracts) ਲਈ • .apc/project.json ਪ੍ਰੋਜੈਕਟ ਦੀ ਪਛਾਣ ਲਈ • .apc/agents/ ਏਜੰਟ ਰੋਲਜ਼ ਲਈ • .apc/skills/ ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਸਕਿੱਲਜ਼ ਲਈ • .apc/mcps.json ਸਾਂਝੇ ਹਿੰਟਸ ਲਈ
APX ਡਾਟਾ ਮਸ਼ੀਨ-ਲੋਕਲ ਹੈ। ਇਹ ਡਾਟਾ ਮਸ਼ੀਨ 'ਤੇ ਹੀ ਰਹਿੰਦਾ ਹੈ ਜਾਂ ਉੱਥੇ ਹੀ ਦੁਬਾਰਾ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਸਟੇਟ (execution state) ਹੈ, ਪੋਰਟੇਬਲ ਕੰਟੈਕਸਟ (portable context) ਨਹੀਂ।
APX ਦੇ ਚੰਗੇ ਉਦਾਹਰਣ: • ~/.apx/config.json ਵਿੱਚ ਰਨਟਾਈਮ ਕੌਂਫਿਗਰੇਸ਼ਨ • ਲੋਕਲ ਪਰਮਿਸ਼ਨ ਮੋਡਸ • ਸੈਸ਼ਨ ਅਤੇ ਮੈਸੇਜ ਲੌਗਸ • ਲੋਕਲ ਕੈਸ਼ੇਸ (caches) • ਪ੍ਰਤੀ-ਮਸ਼ੀਨ ਸੀਕਰੇਟਸ (secrets)
ਇੱਕ ਰੈਪੋਜ਼ਟਰੀ (repository) ਨੂੰ ਕਿਸੇ ਇੱਕ ਵਿਅਕਤੀ ਦੇ ਲੋਕਲ ਸੈੱਟਅੱਪ ਨੂੰ ਬਾਕੀ ਸਾਰਿਆਂ 'ਤੇ ਲਾਗੂ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ।
ਜਦੋਂ APC ਕਲੋਨ-
