diff --git a/packages/utilities/src/utilities.ts b/packages/utilities/src/utilities.ts index da7caa4d..15133a72 100644 --- a/packages/utilities/src/utilities.ts +++ b/packages/utilities/src/utilities.ts @@ -271,6 +271,7 @@ const FORBIDDEN_USERNAMES_REGEXPS = [ // Special files 'index', 'index\\.html', '(favicon\\.[a-z]+)', 'BingSiteAuth.xml', '(google.+\\.html)', 'robots\\.txt', '(sitemap\\.[a-z]+)', '(apple-touch-icon.*)', 'security-whitepaper\\.pdf', 'security\\.txt', 'llms\\.txt', + 'llms-full\\.txt', 'AGENTS\\.md', // All hidden files '(\\..*)', diff --git a/test/utilities.test.ts b/test/utilities.test.ts index 030952d1..255f6590 100644 --- a/test/utilities.test.ts +++ b/test/utilities.test.ts @@ -74,6 +74,10 @@ describe('utilities', () => { expect(utils.isForbiddenUsername('index')).toBe(true); expect(utils.isForbiddenUsername('google6d0b9d7407741f6a.html')).toBe(true); expect(utils.isForbiddenUsername('BingSiteAuth.XML')).toBe(true); + expect(utils.isForbiddenUsername('llms.txt')).toBe(true); + expect(utils.isForbiddenUsername('llms-full.txt')).toBe(true); + expect(utils.isForbiddenUsername('AGENTS.md')).toBe(true); + expect(utils.isForbiddenUsername('agents.MD')).toBe(true); // All hidden files expect(utils.isForbiddenUsername('.hidden')).toBe(true); @@ -82,6 +86,7 @@ describe('utilities', () => { expect(utils.isForbiddenUsername('..')).toBe(true); expect(utils.isForbiddenUsername('...')).toBe(true); expect(utils.isForbiddenUsername('.htaccess')).toBe(true); + expect(utils.isForbiddenUsername('.well-known')).toBe(true); // Strings not starting with letter or number expect(utils.isForbiddenUsername('_karlyolo')).toBe(true);