mirror of
https://github.com/ThatGuySam/doesitarm.git
synced 2026-05-18 06:44:46 -07:00
129 lines
No EOL
2.9 KiB
Text
129 lines
No EOL
2.9 KiB
Text
/**
|
|
* Does It ARM Project Rules
|
|
* Customized AI behavior for maintaining app compatibility database
|
|
*/
|
|
module.exports = {
|
|
// Core project settings
|
|
project: {
|
|
name: 'doesitarm',
|
|
type: 'astro',
|
|
packageManager: 'pnpm',
|
|
nodeVersion: '>=22'
|
|
},
|
|
|
|
// Code style preferences
|
|
style: {
|
|
indentSize: 4,
|
|
maxLineLength: 72,
|
|
quotes: 'single',
|
|
semicolons: false
|
|
},
|
|
|
|
// Testing configuration
|
|
testing: {
|
|
framework: 'vitest',
|
|
pattern: 'test/**/*.test.js',
|
|
coverage: true
|
|
},
|
|
|
|
// Documentation rules
|
|
docs: {
|
|
// Write comments as user stories instead of implementation details
|
|
commentStyle: 'userStory',
|
|
jsdoc: {
|
|
required: true,
|
|
params: true,
|
|
returns: true
|
|
}
|
|
},
|
|
|
|
// Function patterns
|
|
functions: {
|
|
// Prefer options object for 2+ params
|
|
preferOptionsObject: true,
|
|
|
|
// Always use named exports except for pages
|
|
exports: 'named',
|
|
|
|
// Functional components only
|
|
reactComponents: 'functional'
|
|
},
|
|
|
|
// Variable naming
|
|
naming: {
|
|
// Avoid generic names
|
|
forbidden: [
|
|
'base64',
|
|
'text',
|
|
'data',
|
|
'item',
|
|
'content'
|
|
],
|
|
|
|
// Prefer descriptive names
|
|
preferred: {
|
|
'base64': '*Base64',
|
|
'text': '*Text',
|
|
'data': '*Data',
|
|
'content': '*Content'
|
|
}
|
|
},
|
|
|
|
// Search functionality rules
|
|
search: {
|
|
// Stork search configuration
|
|
stork: {
|
|
version: '1.6.0',
|
|
indexPath: 'static/search-index.st',
|
|
tomlPath: 'static/stork.toml'
|
|
}
|
|
},
|
|
|
|
// Build process
|
|
build: {
|
|
// Files to ignore
|
|
ignore: [
|
|
'node_modules',
|
|
'dist',
|
|
'.cache',
|
|
'.DS_Store'
|
|
],
|
|
|
|
// Required environment variables
|
|
requiredEnv: [
|
|
'PUBLIC_URL',
|
|
'PUBLIC_API_DOMAIN',
|
|
'COMMITS_SOURCE',
|
|
'GAMES_SOURCE'
|
|
]
|
|
},
|
|
|
|
// Deployment configurations
|
|
deployment: {
|
|
platforms: ['netlify', 'vercel'],
|
|
netlify: {
|
|
buildCommand: 'pnpm run netlify-build',
|
|
publishDir: 'dist/',
|
|
functions: {
|
|
directory: 'dist/functions',
|
|
bundler: 'esbuild'
|
|
},
|
|
environment: {
|
|
NPM_FLAGS: '--no-optional',
|
|
CI: '1'
|
|
}
|
|
},
|
|
vercel: {
|
|
buildCommand: 'pnpm run vercel-build',
|
|
distDir: 'static',
|
|
buildSteps: [
|
|
'test-prebuild',
|
|
'build-lists-and-api',
|
|
'test-postbuild-api'
|
|
],
|
|
github: {
|
|
silent: true
|
|
}
|
|
}
|
|
}
|
|
} |