Core Concepts
Context Engineering
How “Repo is the Agent” is implemented in runtime
Context Engineering
ShipMyAgent keeps context in composable, persisted layers:
PROFILE.md/SOUL.md/USER.mdship.jsonruntime config.ship/context/<contextId>/messages/messages.jsonlconversation history.ship/memory/MEMORY.mdlong-term memory.ship/memory/daily/<YYYY-MM-DD>.mddaily memory increments.ship/context/<contextId>/memory/working.mdcontext working memory (optional)
Why this model
- History is auditable and explicit.
- Long conversations can be compacted safely.
- Context isolation by
contextIdavoids cross-conversation bleed. - Memory retrieval is budgeted via
memory.search -> memory.get, instead of full-file injection.
Practical tips
- Keep clear boundaries and goals in
PROFILE.md. - Use meaningful
contextIdper channel/user/workflow. - Inspect
.ship/logs/<date>.jsonland task run artifacts regularly.