ਗਲੋਬਲ ਕੰਟੈਕਸ APC ਤੋਂ ਬਾਹਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
APC ਇੱਕ ਪੋਰਟੇਬਲ ਕੰਟੈਕਸ ਲੇਅਰ ਹੈ। APX ਇੱਕ ਲੋਕਲ ਰਨਟਾਈਮ ਲੇਅਰ ਹੈ।
ਇਨ੍ਹਾਂ ਨੂੰ ਸਹੀ ਰੱਖਣ ਲਈ, ਇੱਕ ਨਿਯਮ ਦੀ ਪਾਲਣਾ ਕਰੋ। ਜੇਕਰ ਕੋਈ ਚੀਜ਼ ਨਵੇਂ ਕਲੋਨ (fresh clone) ਤੋਂ ਬਾਅਦ ਵੀ ਬਣੀ ਰਹਿਣੀ ਚਾਹੀਦੀ ਹੈ, ਤਾਂ ਉਸਨੂੰ APC ਵਿੱਚ ਰੱਖੋ। ਜੇਕਰ ਇਹ ਕਿਸੇ ਖਾਸ ਯੂਜ਼ਰ, ਮਸ਼ੀਨ ਜਾਂ ਪ੍ਰੋਸੈਸ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ, ਤਾਂ ਇਸਨੂੰ APC ਤੋਂ ਬਾਹਰ ਰੱਖੋ।
ਪ੍ਰੋਜੈਕਟ ਵਧਦੇ ਹਨ ਅਤੇ ਲਾਲਚ ਵੀ ਆਉਂਦਾ ਹੈ। ਤੁਸੀਂ ਇੱਕ ਹੋਰ ਸੈਟਿੰਗ ਜਾਂ ਇੱਕ ਲੋਕਲ ਪਾਥ (local path) ਜੋੜਨਾ ਚਾਹ ਸਕਦੇ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ਸਖ਼ਤ ਨਹੀਂ ਹੋ, ਤਾਂ ਤੁਹਾਡਾ ਰੈਪੋ (repo) ਮਸ਼ੀਨ ਡੇਟਾ ਦਾ ਇੱਕ ਢੇਰ ਬਣ ਜਾਵੇਗਾ। ਇਹ ਰੈਪੋ ਨੂੰ ਕਮਜ਼ੋਰ ਬਣਾਉਂਦਾ ਹੈ।
APC ਪ੍ਰੋਜੈਕਟ-ਮਾਲਕੀ ਵਾਲੇ ਅਰਥਾਂ ਨੂੰ ਰੱਖਦਾ ਹੈ। ਇਹ ਉਹ ਸਾਂਝਾ ਇਕਰਾਰਨਾਮਾ (shared contract) ਹੈ ਜੋ ਇੱਕ ਰੈਪੋਜ਼ੀਟਰੀ ਆਪਣੇ ਨਾਲ ਰੱਖਦੀ ਹੈ।
ਚੰਗੇ APC ਕੰਟੈਂਟ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- ਪ੍ਰੋਜੈਕਟ ਦੀ ਪਛਾਣ
- ਏਜੰਟ ਭੂਮਿਕਾਵਾਂ (Agent roles)
- ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਹੁਨਰ (Reusable skills)
- ਸੰਗਠਿਤ ਪ੍ਰੋਜੈਕਟ ਮੈਮੋਰੀ
- ਪ੍ਰੋਜੈਕਟ-ਲੇਵਲ MCP ਹਿੰਟਸ
- AGENTS.md ਵਿੱਚ ਰੈਪੋ-ਵਾਈਡ ਹਦਾਇਤਾਂ
ਇੱਕ ਸਾਥੀ ਜਾਂ ਇੱਕ ਨਵੀਂ ਮਸ਼ੀਨ ਨੂੰ ਚੈੱਕਆਊਟ (checkout) ਤੋਂ ਤੁਰੰਤ ਬਾਅਦ ਇਹ ਤੱਥ ਪੜ੍ਹੇ ਜਾਣੇ ਚਾਹੀਦੇ ਹਨ।
ਗਲੋਬਲ ਕੰਟੈਕਸ ਵੱਖਰਾ ਹੈ। ਇਹ ਇੱਕ ਯੂਜ਼ਰ ਜਾਂ ਵਰਕਸਟੇਸ਼ਨ ਨਾਲ ਸਬੰਧਤ ਹੁੰਦਾ ਹੈ।
ਗਲੋਬਲ ਕੰਟੈਕਸ ਦੀਆਂ ਉਦਾਹਰਣਾਂ:
- API keys
- ਐਡੀਟਰ ਦੀਆਂ ਪਸੰਦਾਂ (Editor preferences)
- ਲੋਕਲ ਐਲੀਏਸ (Local aliases)
- ਮਸ਼ੀਨ-ਵਿਸ਼ੇਸ਼ ਟੂਲ ਪਾਥ
- ਪ੍ਰਾਈਵੇਟ ਰਨਟਾਈਮ ਮੈਮੋਰੀ
- ਕੈਸ਼ੇਸ (Caches)
- ਸੈਸ਼ਨ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟਸ
- ਮੈਸੇਜ ਲੌਗਸ
APX ਇਸ ਸਟੇਟ ਨੂੰ ਲੋਕਲ ਰੱਖਦਾ ਹੈ। ਇਹ ਰਨਟਾਈਮ ਸਟੇਟ ਨੂੰ ~/.apx/ ਦੇ ਅਧੀਨ ਸਟੋਰ ਕਰਦਾ ਹੈ। ਇਹ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਯੋਗ (shareable) ਬਣਾਉਂਦਾ ਹੈ।
ਇਨ੍ਹਾਂ ਲੇਅਰਾਂ ਨੂੰ ਮਿਲਾਉਣ ਨਾਲ ਤਿੰਨ ਸਮੱਸਿਆਵਾਂ ਹੁੰਦੀਆਂ ਹਨ:
- ਪੋਰਟੇਬਿਲਟੀ ਟੁੱਟ ਜਾਂਦੀ ਹੈ। ਇੱਕ ਰੈਪੋ ਜੋ ਲੋਕਲ ਕੌਂਫਿਗ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ, ਉਸ 'ਤੇ ਭਰੋਸਾ ਕਰਨਾ ਮੁਸ਼ਕਲ ਹੁੰਦਾ ਹੈ।
- ਰਿਵਿਊਜ਼ ਵਿੱਚ ਰੌਲਾ (noise) ਵਧ ਜਾਂਦਾ ਹੈ। ਪਲ ਰਿਕੁਐਸਟਸ (Pull requests) ਵਿੱਚ ਪ੍ਰੋਜੈਕਟ ਦੇ ਫੈਸਲੇ ਦਿਖਾਈ ਦੇਣੇ ਚਾਹੀਦੇ ਹਨ, ਵਰਕਸਟੇਸ਼ਨ ਦਾ ਬੋਝ ਨਹੀਂ।
- ਸੀਕਰੇਟਸ (Secrets) ਲੀਕ ਹੋ ਜਾਂਦੇ ਹਨ। ਲੋਕਲ ਵੇਰਵੇ ਸਟੋਰ ਕਰਨ ਨਾਲ ਗਲਤ ਫਾਈਲਾਂ ਕਮਿਟ ਕਰਨਾ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ।
ਕੋਈ ਸੈਟਿੰਗ ਜੋੜਨ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਪੁੱਛੋ: ਕੀ ਕਿਸੇ ਹੋਰ ਕੰਟਰੀਬਿਊਟਰ ਨੂੰ ਕਲੋਨਿੰਗ ਤੋਂ ਤੁਰੰਤ ਬਾਅਦ ਇਸਦੀ ਲੋੜ ਪਵੇਗੀ?
ਜੇਕਰ ਹਾਂ, ਤਾਂ APC ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਹਰ ਕਲੋਨ ਲਈ ਇੱਕ ਰਿਵਿਊਅਰ ਏਜੰਟ? APC।
