[{"data":1,"prerenderedAt":727},["ShallowReactive",2],{"navigation_docs":3,"-engineering-contributing-agentic-coding":348,"-engineering-contributing-agentic-coding-surround":722},[4,8,68,98,216,245,259,280,344],{"title":5,"path":6,"stem":7},"Introduction","\u002Fintroduction","0.introduction",{"title":9,"icon":10,"path":11,"stem":12,"children":13,"page":63},"Company","i-lucide-building-2","\u002Fcompany","1.company",[14,18,22,26,30,34,38,42,46,50,64],{"title":15,"path":16,"stem":17},"About","\u002Fcompany\u002Fabout","1.company\u002F0.about",{"title":19,"path":20,"stem":21},"Values","\u002Fcompany\u002Fvalues","1.company\u002F1.values",{"title":23,"path":24,"stem":25},"Communication","\u002Fcompany\u002Fcommunication","1.company\u002Fcommunication",{"title":27,"path":28,"stem":29},"Competition","\u002Fcompany\u002Fcompetition","1.company\u002Fcompetition",{"title":31,"path":32,"stem":33},"Hybrid Working","\u002Fcompany\u002Fhybrid-working","1.company\u002Fhybrid-working",{"title":35,"path":36,"stem":37},"Manchester Office","\u002Fcompany\u002Foffice","1.company\u002Foffice",{"title":39,"path":40,"stem":41},"Operations","\u002Fcompany\u002Foperations","1.company\u002Foperations",{"title":43,"path":44,"stem":45},"Policies","\u002Fcompany\u002Fpolicies","1.company\u002Fpolicies",{"title":47,"path":48,"stem":49},"Product Strategy","\u002Fcompany\u002Fproduct-strategy","1.company\u002Fproduct-strategy",{"title":51,"path":52,"stem":53,"children":54,"page":63},"Products","\u002Fcompany\u002Fproducts","1.company\u002Fproducts",[55,59],{"title":56,"path":57,"stem":58},"Capability Exchange","\u002Fcompany\u002Fproducts\u002Fcapability-exchange","1.company\u002Fproducts\u002Fcapability-exchange",{"title":60,"path":61,"stem":62},"ESProfiler Platform","\u002Fcompany\u002Fproducts\u002Fesprofiler","1.company\u002Fproducts\u002Fesprofiler",false,{"title":65,"path":66,"stem":67},"Security","\u002Fcompany\u002Fsecurity","1.company\u002Fsecurity",{"title":69,"icon":70,"path":71,"stem":72,"children":73,"page":63},"People Ops","i-lucide-users","\u002Fpeople-ops","2.people-ops",[74,78,82,86,90,94],{"title":75,"path":76,"stem":77},"Compensation","\u002Fpeople-ops\u002Fcompensation","2.people-ops\u002Fcompensation",{"title":79,"path":80,"stem":81},"Education","\u002Fpeople-ops\u002Feducation","2.people-ops\u002Feducation",{"title":83,"path":84,"stem":85},"Expenses","\u002Fpeople-ops\u002Fexpenses","2.people-ops\u002Fexpenses",{"title":87,"path":88,"stem":89},"Holiday & Leave","\u002Fpeople-ops\u002Fleave","2.people-ops\u002Fleave",{"title":91,"path":92,"stem":93},"Onboarding","\u002Fpeople-ops\u002Fonboarding","2.people-ops\u002Fonboarding",{"title":95,"path":96,"stem":97},"Recruitment","\u002Fpeople-ops\u002Frecruitment","2.people-ops\u002Frecruitment",{"title":99,"icon":100,"path":101,"stem":102,"children":103,"page":63},"Engineering","i-lucide-rocket","\u002Fengineering","3.engineering",[104,147,151,171,192,196,204,208,212],{"title":105,"path":106,"stem":107,"children":108,"page":63},"Contributing","\u002Fengineering\u002Fcontributing","3.engineering\u002Fcontributing",[109,113,117,121,125,138],{"title":110,"path":111,"stem":112},"Development Setup","\u002Fengineering\u002Fcontributing\u002Fdevelopment-setup","3.engineering\u002Fcontributing\u002F1.development-setup",{"title":114,"path":115,"stem":116},"Engineering Operations","\u002Fengineering\u002Fcontributing\u002Fengineering-operations","3.engineering\u002Fcontributing\u002F2.engineering-operations",{"title":118,"path":119,"stem":120},"Documentation","\u002Fengineering\u002Fcontributing\u002Fdocumentation","3.engineering\u002Fcontributing\u002F3.documentation",{"title":122,"path":123,"stem":124},"Agentic Coding","\u002Fengineering\u002Fcontributing\u002Fagentic-coding","3.engineering\u002Fcontributing\u002Fagentic-coding",{"title":126,"path":127,"stem":128,"children":129,"page":63},"Back End","\u002Fengineering\u002Fcontributing\u002Fback-end","3.engineering\u002Fcontributing\u002Fback-end",[130,134],{"title":131,"path":132,"stem":133},"API Guidelines","\u002Fengineering\u002Fcontributing\u002Fback-end\u002Fapi-guidelines","3.engineering\u002Fcontributing\u002Fback-end\u002Fapi-guidelines",{"title":135,"path":136,"stem":137},"LLM Prompts & Langfuse Integration","\u002Fengineering\u002Fcontributing\u002Fback-end\u002Fllm-prompts","3.engineering\u002Fcontributing\u002Fback-end\u002Fllm-prompts",{"title":139,"path":140,"stem":141,"children":142,"page":63},"Front End","\u002Fengineering\u002Fcontributing\u002Ffront-end","3.engineering\u002Fcontributing\u002Ffront-end",[143],{"title":144,"path":145,"stem":146},"Testing","\u002Fengineering\u002Fcontributing\u002Ffront-end\u002Ftesting","3.engineering\u002Fcontributing\u002Ffront-end\u002Ftesting",{"title":148,"path":149,"stem":150},"Production Database","\u002Fengineering\u002Fdatabase-connection","3.engineering\u002Fdatabase-connection",{"title":152,"path":153,"stem":154,"children":155},"Deployment","\u002Fengineering\u002Fdeployment","3.engineering\u002Fdeployment",[156,159,163,167],{"title":56,"path":157,"stem":158},"\u002Fengineering\u002Fdeployment\u002Fcapability-exchange","3.engineering\u002Fdeployment\u002Fcapability-exchange",{"title":160,"path":161,"stem":162},"Langfuse Deployment","\u002Fengineering\u002Fdeployment\u002Fecs-langfuse-deployment","3.engineering\u002Fdeployment\u002Fecs-langfuse-deployment",{"title":164,"path":165,"stem":166},"ESP Platform Configuration","\u002Fengineering\u002Fdeployment\u002Fesp-platform-configuration","3.engineering\u002Fdeployment\u002Fesp-platform-configuration",{"title":168,"path":169,"stem":170},"Platform","\u002Fengineering\u002Fdeployment\u002Fplatform","3.engineering\u002Fdeployment\u002Fplatform",{"title":172,"path":173,"stem":174,"children":175,"page":63},"Github","\u002Fengineering\u002Fgithub","3.engineering\u002Fgithub",[176,180,184,188],{"title":177,"path":178,"stem":179},"Packages","\u002Fengineering\u002Fgithub\u002Fpackages","3.engineering\u002Fgithub\u002Fpackages",{"title":181,"path":182,"stem":183},"Personal Access Token","\u002Fengineering\u002Fgithub\u002Fpersonal-access-token","3.engineering\u002Fgithub\u002Fpersonal-access-token",{"title":185,"path":186,"stem":187},"Troubleshooting","\u002Fengineering\u002Fgithub\u002Ftroubleshooting","3.engineering\u002Fgithub\u002Ftroubleshooting",{"title":189,"path":190,"stem":191},"Workflows","\u002Fengineering\u002Fgithub\u002Fworkflows","3.engineering\u002Fgithub\u002Fworkflows",{"title":193,"path":194,"stem":195},"Platform Ops","\u002Fengineering\u002Fplatform-ops","3.engineering\u002Fplatform-ops",{"title":168,"path":197,"stem":198,"children":199,"page":63},"\u002Fengineering\u002Fplatform","3.engineering\u002Fplatform",[200],{"title":201,"path":202,"stem":203},"useAPI","\u002Fengineering\u002Fplatform\u002Fuse-api","3.engineering\u002Fplatform\u002Fuse-api",{"title":205,"path":206,"stem":207},"Project Management","\u002Fengineering\u002Fproject-management","3.engineering\u002Fproject-management",{"title":209,"path":210,"stem":211},"Releases","\u002Fengineering\u002Frelease","3.engineering\u002Frelease",{"title":213,"path":214,"stem":215},"Tools","\u002Fengineering\u002Ftools","3.engineering\u002Ftools",{"title":217,"icon":218,"path":219,"stem":220,"children":221,"page":63},"Design","i-lucide-palette","\u002Fdesign","4.design",[222,226,230,234,238,241],{"title":223,"path":224,"stem":225},"Design Thinking","\u002Fdesign\u002Fdesign-thinking","4.design\u002F1.design-thinking",{"title":227,"path":228,"stem":229},"Figma","\u002Fdesign\u002Ffigma-structure","4.design\u002F2.figma-structure",{"title":231,"path":232,"stem":233},"Design & Development","\u002Fdesign\u002Fdesign-and-development","4.design\u002F3.design-and-development",{"title":235,"path":236,"stem":237},"Branding","\u002Fdesign\u002Fbranding","4.design\u002F4.branding",{"title":213,"path":239,"stem":240},"\u002Fdesign\u002Ftools","4.design\u002F5.tools",{"title":242,"path":243,"stem":244},"Customer Success","\u002Fdesign\u002Fworking-with-customers","4.design\u002F6.working-with-customers",{"title":246,"icon":247,"path":248,"stem":249,"children":250,"page":63},"Sales","i-lucide-dollar-sign","\u002Fsales","4.sales",[251,255],{"title":252,"path":253,"stem":254},"Customer Onboarding","\u002Fsales\u002Fonboarding","4.sales\u002Fonboarding",{"title":256,"path":257,"stem":258},"Sales Tools","\u002Fsales\u002Ftools","4.sales\u002Ftools",{"title":260,"icon":261,"path":262,"stem":263,"children":264,"page":63},"Marketing","i-lucide-book-image","\u002Fmarketing","5.marketing",[265,269,273,276],{"title":266,"path":267,"stem":268},"Content","\u002Fmarketing\u002Fcontent","5.marketing\u002Fcontent",{"title":270,"path":271,"stem":272},"Messaging","\u002Fmarketing\u002Fmessaging","5.marketing\u002Fmessaging",{"title":213,"path":274,"stem":275},"\u002Fmarketing\u002Ftools","5.marketing\u002Ftools",{"title":277,"path":278,"stem":279},"Website","\u002Fmarketing\u002Fwebsite","5.marketing\u002Fwebsite",{"title":281,"icon":282,"path":283,"stem":284,"children":285,"page":63},"AI & Data Ops","i-lucide-database","\u002Fdata-ops","6.data-ops",[286,294,298,323,340],{"title":56,"path":287,"stem":288,"children":289,"page":63},"\u002Fdata-ops\u002Fcapability-exchange","6.data-ops\u002FCapability Exchange",[290],{"title":291,"path":292,"stem":293},"Leaderboard Calculation","\u002Fdata-ops\u002Fcapability-exchange\u002Fleaderboard-calculation","6.data-ops\u002FCapability Exchange\u002Fleaderboard-calculation",{"title":295,"path":296,"stem":297},"Account Portal (CAS)","\u002Fdata-ops\u002Faccount-portal","6.data-ops\u002Faccount-portal",{"title":299,"path":300,"stem":301,"children":302,"page":63},"Data Management","\u002Fdata-ops\u002Fdata-management","6.data-ops\u002Fdata-management",[303,307,311,315,319],{"title":304,"path":305,"stem":306},"Adding Products","\u002Fdata-ops\u002Fdata-management\u002Fadding-products","6.data-ops\u002Fdata-management\u002Fadding-products",{"title":308,"path":309,"stem":310},"Adding Vendors","\u002Fdata-ops\u002Fdata-management\u002Fadding-vendors","6.data-ops\u002Fdata-management\u002Fadding-vendors",{"title":312,"path":313,"stem":314},"Framework Mapping","\u002Fdata-ops\u002Fdata-management\u002Fframework-mapping","6.data-ops\u002Fdata-management\u002Fframework-mapping",{"title":316,"path":317,"stem":318},"Refreshing Vendors","\u002Fdata-ops\u002Fdata-management\u002Frefreshing-vendors","6.data-ops\u002Fdata-management\u002Frefreshing-vendors",{"title":320,"path":321,"stem":322},"Reviewing Draft Vendors","\u002Fdata-ops\u002Fdata-management\u002Freviewing-draft-vendors","6.data-ops\u002Fdata-management\u002Freviewing-draft-vendors",{"title":324,"path":325,"stem":326,"children":327,"page":63},"LLM Ops","\u002Fdata-ops\u002Fllm-ops","6.data-ops\u002Fllm-ops",[328,332,336],{"title":329,"path":330,"stem":331},"Agents","\u002Fdata-ops\u002Fllm-ops\u002Fagents","6.data-ops\u002Fllm-ops\u002F1.agents",{"title":333,"path":334,"stem":335},"ESPi Architecture & Query Flow","\u002Fdata-ops\u002Fllm-ops\u002Fespi-architecture","6.data-ops\u002Fllm-ops\u002F2.espi-architecture",{"title":337,"path":338,"stem":339},"Evaluating Agents","\u002Fdata-ops\u002Fllm-ops\u002Fevaluations","6.data-ops\u002Fllm-ops\u002F3.evaluations",{"title":341,"path":342,"stem":343},"Message Queues","\u002Fdata-ops\u002Fmessage-queues","6.data-ops\u002Fmessage-queues",{"title":345,"path":346,"stem":347},"Glossary","\u002Fglossary","glossary",{"id":349,"title":122,"body":350,"description":715,"extension":716,"links":717,"meta":718,"navigation":719,"path":123,"seo":720,"stem":124,"__hash__":721},"docs\u002F3.engineering\u002Fcontributing\u002Fagentic-coding.md",{"type":351,"value":352,"toc":705},"minimark",[353,358,362,367,382,385,388,392,405,409,414,424,447,451,475,477,481,487,491,516,526,537,539,543,549,589,591,595,601,605,611,615,627,631,637,684,688,691,695,701],[354,355,357],"h2",{"id":356},"agent-code-skills","Agent Code Skills",[359,360,361],"p",{},"We use agentic coding in our local development environment to help us write code faster and more efficiently. Skills can be used to help us write code, refactor code, and test code that is consistent with our company's standards and practices.",[363,364,366],"h3",{"id":365},"overview","Overview",[359,368,369,370,374,375,377,378,381],{},"The ",[371,372,373],"code",{},".agents"," folder (such as the backend ",[371,376,373],{}," folder located in your project workspace at ",[371,379,380],{},"...\u002Fbackend\u002F.agents",") provides domain and stack-specific skills, instructions, and guidelines for AI coding assistants operating within ES Profiler codebases.",[359,383,384],{},"Rather than maintaining a single monolithic repository of AI instructions, ES Profiler uses focused, stack-specific agent repositories that clone directly into the root of local project workspaces.",[386,387],"hr",{},[363,389,391],{"id":390},"available-skill-repos","Available Skill Repos",[393,394,395],"ul",{},[396,397,398],"li",{},[399,400,404],"a",{"href":401,"rel":402},"https:\u002F\u002Fgithub.com\u002FES-Profiler\u002Fskills-for-java",[403],"nofollow","Skills for JAVA",[363,406,408],{"id":407},"intent-architecture-rationale","Intent & Architecture Rationale",[410,411,413],"h4",{"id":412},"why-stack-specific-repositories","Why Stack-Specific Repositories?",[359,415,416,417,419,420,423],{},"A common question when designing AI agent workflows is why we use dedicated repositories (e.g., stack-specific ",[371,418,373],{}," repos) rather than a single unified ",[371,421,422],{},"skills"," repository containing subdirectories for Java, Frontend, Ops, etc.",[425,426,428,434,441],"card",{"title":427},"Q: Why a 'skills for java' repo rather than a single generic 'skills' repo with nested subfolders?",[359,429,430],{},[431,432,433],"strong",{},"A: Context Budget Optimization.",[359,435,436,437,440],{},"AI models operate with a finite context window (context budget). If a single generic repository containing skills for all languages, stacks, and tools is loaded into an agent, irrelevant skills are ingested into memory. This consumes valuable ",[431,438,439],{},"context budget",", increases noise, and degrades agent reasoning performance.",[359,442,443,444,446],{},"By maintaining stack-specific ",[371,445,373],{}," repositories and cloning them directly into the target project root, agents only load instructions directly relevant to the active workspace.",[410,448,450],{"id":449},"key-benefits","Key Benefits",[393,452,453,459,469],{},[396,454,455,458],{},[431,456,457],{},"Context Window Efficiency",": Minimizes token usage by loading only relevant skills for the active project stack.",[396,460,461,464,465,468],{},[431,462,463],{},"Direct Workspace Integration",": Allows IDEs and AI assistants to automatically detect ",[371,466,467],{},".agents\u002Fskills\u002F"," at the workspace root without manual configuration.",[396,470,471,474],{},[431,472,473],{},"Maintainability & Scope",": Teams managing services only need to maintain service-scope specific skills, while other teams manage un-related skills in separate scopes.",[386,476],{},[363,478,480],{"id":479},"local-development-setup","Local Development Setup",[359,482,483,484,486],{},"To use agent skills in your local development environment, clone the stack-specific ",[371,485,373],{}," repository into the root directory of your project suite.",[410,488,490],{"id":489},"backend-directory-layout-example","Backend Directory Layout Example",[359,492,493,494,496,497,500,501,504,505,509,510,512,513,515],{},"For backend multi-module Java development, the ",[371,495,373],{}," folder is placed directly inside the root ",[371,498,499],{},"backend\u002F"," directory alongside all service modules. To do this, ",[371,502,503],{},"git clone"," the relevant skill repository (e.g. ",[399,506,508],{"href":401,"rel":507},[403],"skills-for-java",") into the relevant parent folder (e.g. ",[371,511,499],{},"), then rename the folder to ",[371,514,373],{},".",[517,518,524],"pre",{"className":519,"code":521,"language":522,"meta":523},[520],"language-text","backend\u002F\n├── .agents\u002F\n│   ├── README.md\n│   └── skills\u002F\n│       ├── esp-project-summary\u002F\n│       ├── esp-testing-guide\u002F\n│       └── java-collection-utils\u002F\n├── api-cas\u002F\n│   └── pom.xml\n├── api-ccs\u002F\n│   └── pom.xml\n├── api-ces\u002F\n│   └── pom.xml\n├── api-cps\u002F\n│   └── pom.xml\n├── api-iengine-runner\u002F\n│   └── pom.xml\n├── api-mfs\u002F\n│   └── pom.xml\n├── api-pes\u002F\n│   └── pom.xml\n└── platform-api\u002F\n    └── pom.xml\n","text","",[371,525,521],{"__ignoreMap":523},[527,528,529,530,532,533,536],"important",{},"Always open the top-level root directory (",[371,531,499],{},") in both your IDE and your AI Agent environment. This ensures the agent sees ",[371,534,535],{},".agents\u002F"," as part of the root workspace context.",[386,538],{},[363,540,542],{"id":541},"how-skills-move-from-repo-to-local-dev-agents","How Skills Move from Repo to Local Dev Agents",[359,544,545,546,548],{},"When an AI assistant or IDE agent opens the root project directory in your local dev environment, it automatically integrates the ",[371,547,373],{}," repository:",[550,551,552,573,583],"ol",{},[396,553,554,557,558,560,561,564,565,568,569,572],{},[431,555,556],{},"Automatic Skill Discovery",": The agent discovers the available skills in ",[371,559,467],{}," (such as ",[371,562,563],{},"esp-project-summary",", ",[371,566,567],{},"esp-testing-guide",", and ",[371,570,571],{},"java-collection-utils",").",[396,574,575,578,579,582],{},[431,576,577],{},"Context Activation",": When performing relevant tasks (e.g., writing unit tests or refactoring collection usage), the agent loads the corresponding ",[371,580,581],{},"SKILL.md"," instructions into its active context.",[396,584,585,588],{},[431,586,587],{},"Execution According to Project Standards",": The agent follows company-specific patterns, test conventions, and helper functions documented within the skill.",[386,590],{},[363,592,594],{"id":593},"agentic-best-practices","Agentic Best Practices",[359,596,597,598,600],{},"When authoring or maintaining skills within an ",[371,599,373],{}," repository, follow these guidelines:",[410,602,604],{"id":603},"_1-high-signal-to-noise-ratio","1. High Signal-to-Noise Ratio",[359,606,607,608,610],{},"Keep skill documentation (",[371,609,581],{},") clear, concise, and actionable. Avoid unnecessary verbosity to conserve the agent's context budget.",[410,612,614],{"id":613},"_2-single-responsibility-principle","2. Single Responsibility Principle",[359,616,617,618,620,621,623,624,626],{},"Each skill folder inside ",[371,619,467],{}," should address a single domain, tool, or architectural pattern (e.g., ",[371,622,567],{}," for testing rules, ",[371,625,571],{}," for utility patterns).",[410,628,630],{"id":629},"_3-clear-frontmatter-description","3. Clear Frontmatter & Description",[359,632,633,634,636],{},"Always include YAML frontmatter in ",[371,635,581],{}," files defining the skill name and description so agents can determine when a skill is relevant:",[517,638,642],{"className":639,"code":640,"language":641,"meta":523,"style":523},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","---\nname: esp-testing-guide\ndescription: Testing standards, mock patterns, and assertion best practices for backend Java services.\n---\n","yaml",[371,643,644,653,668,679],{"__ignoreMap":523},[645,646,649],"span",{"class":647,"line":648},"line",1,[645,650,652],{"class":651},"sBMFI","---\n",[645,654,656,660,664],{"class":647,"line":655},2,[645,657,659],{"class":658},"swJcz","name",[645,661,663],{"class":662},"sMK4o",":",[645,665,667],{"class":666},"sfazB"," esp-testing-guide\n",[645,669,671,674,676],{"class":647,"line":670},3,[645,672,673],{"class":658},"description",[645,675,663],{"class":662},[645,677,678],{"class":666}," Testing standards, mock patterns, and assertion best practices for backend Java services.\n",[645,680,682],{"class":647,"line":681},4,[645,683,652],{"class":651},[410,685,687],{"id":686},"_4-provide-concrete-examples","4. Provide Concrete Examples",[359,689,690],{},"Include short, runnable code snippets illustrating \"Good\" vs \"Bad\" practices rather than abstract guidance.",[410,692,694],{"id":693},"_5-keep-local-repositories-synced","5. Keep Local Repositories Synced",[359,696,697,698,700],{},"Ensure team members periodically pull updates to their local ",[371,699,373],{}," directory so local AI tools operate with the latest architectural standards.",[702,703,704],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":523,"searchDepth":655,"depth":655,"links":706},[707],{"id":356,"depth":655,"text":357,"children":708},[709,710,711,712,713,714],{"id":365,"depth":670,"text":366},{"id":390,"depth":670,"text":391},{"id":407,"depth":670,"text":408},{"id":479,"depth":670,"text":480},{"id":541,"depth":670,"text":542},{"id":593,"depth":670,"text":594},"Best practices on using agentic coding in your local development environment.","md",null,{},true,{"title":122,"description":715},"ryJwtp85GOxUg8eDyNeFI47hdSxDqWK1i-14wsHwdWA",[723,725],{"title":118,"path":119,"stem":120,"description":724,"children":-1},"ESProfiler's platform documentation is hosted at https:\u002F\u002Fdocs.esprofiler.com. You can access it directly from any of our platform tenants by clicking Help > Documentation.",{"title":131,"path":132,"stem":133,"description":726,"children":-1},"This guide provides a set of guidelines for designing and implementing APIs in the back-end of ESProfiler",1789726611034]