@stackguide/mcp-server 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,48 +32,57 @@ Dynamic context loading for AI coding assistants. Works with **Cursor** and **Gi
32
32
 
33
33
  ### 2. Use
34
34
 
35
- Just ask your AI assistant:
36
- - *"Select project type react-node"*
37
- - *"List available rules"*
38
- - *"Get full context"*
39
- - *"Browse cursor directory for python rules"*
35
+ Just tell your AI assistant in natural language:
36
+
37
+ - *"Set up my project"* → Auto-detects and configures everything
38
+ - *"I'm working on a Django API"* → Configures Python/Django context
39
+ - *"Configure for React with TypeScript"* → Sets up React-TS rules
40
+ - *"Browse Python rules from cursor directory"* → Shows community rules
41
+
42
+ ## Auto-Setup (NEW in 1.1.0!)
43
+
44
+ StackGuide can automatically detect your project type and configure itself:
45
+
46
+ ```
47
+ auto_setup projectPath:"."
48
+ ```
49
+
50
+ It analyzes your `package.json`, `requirements.txt`, `Cargo.toml`, etc. and loads the right rules.
40
51
 
41
52
  ## Supported Stacks
42
53
 
43
54
  `python-django` · `python-fastapi` · `python-flask` · `react-node` · `react-typescript` · `vue-node` · `nextjs` · `express` · `nestjs` · `laravel` · `rails` · `golang` · `rust`
44
55
 
45
- ## Tools (42 total)
56
+ ## Tools (46 total)
46
57
 
47
58
  | Category | Tools |
48
59
  |----------|-------|
60
+ | **Smart Setup** | `auto_setup` `detect_project` `suggest_rules` `quick_start` |
49
61
  | **Project** | `list_project_types` `select_project_type` `get_current_context` |
50
62
  | **Rules** | `list_rules` `get_rule` `select_rules` `search_rules` `create_rule` `update_rule` `delete_rule` |
51
63
  | **Knowledge** | `list_knowledge` `get_knowledge` `select_knowledge` `search_knowledge` |
52
64
  | **Config** | `save_configuration` `load_configuration` `list_configurations` `export_configuration` |
53
65
  | **Web Docs** | `fetch_web_docs` `list_web_docs` `search_web_docs` `get_suggested_docs` |
54
- | **Cursor Directory** | `browse_cursor_directory` `search_cursor_directory` `import_cursor_directory_rule` `get_popular_cursor_rules` |
66
+ | **Cursor Directory** | `browse_cursor_directory` `search_cursor_directory` `import_cursor_directory_rule` |
55
67
  | **Context** | `get_full_context` `add_custom_rule` |
56
68
 
69
+ ## How It Works
70
+
71
+ 1. **Auto-detect**: Analyzes project files to identify your stack
72
+ 2. **Load context**: Loads relevant rules, standards, and patterns
73
+ 3. **Suggest**: Recommends community rules from cursor.directory
74
+ 4. **Persist**: Saves your configuration for future sessions
75
+
57
76
  ## Cursor Directory Integration
58
77
 
59
78
  Import community rules from [cursor.directory](https://cursor.directory/rules/):
60
79
 
61
80
  ```
62
81
  browse_cursor_directory category:"python"
63
- search_cursor_directory query:"react best practices"
82
+ search_cursor_directory query:"react hooks"
64
83
  import_cursor_directory_rule slug:"nextjs-react-typescript-cursor-rules"
65
84
  ```
66
85
 
67
- ## Custom Rules
68
-
69
- Create your own rules that persist across sessions:
70
-
71
- ```
72
- create_rule projectType:"react-node" name:"My Standards" category:"best-practices" content:"..."
73
- ```
74
-
75
- Rules are stored in `~/.stackguide/rules/`.
76
-
77
86
  ## License
78
87
 
79
88
  GPL-3.0
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ import * as knowledgeProvider from './resources/knowledgeProvider.js';
9
9
  import * as ruleManager from './services/ruleManager.js';
10
10
  import * as webDocs from './services/webDocumentation.js';
11
11
  import * as cursorDirectory from './services/cursorDirectory.js';
12
+ import * as autoDetect from './services/autoDetect.js';
12
13
  // Server state
13
14
  const serverState = {
14
15
  activeProjectType: null,
@@ -19,7 +20,7 @@ const serverState = {
19
20
  // Create MCP server
20
21
  const server = new Server({
21
22
  name: 'stackguide-mcp',
22
- version: '1.0.0',
23
+ version: '1.1.0',
23
24
  }, {
24
25
  capabilities: {
25
26
  tools: {},
@@ -31,6 +32,64 @@ const server = new Server({
31
32
  server.setRequestHandler(ListToolsRequestSchema, async () => {
32
33
  return {
33
34
  tools: [
35
+ // Smart Setup Tools (NEW!)
36
+ {
37
+ name: 'auto_setup',
38
+ description: 'Automatically detect your project type, configure context, and suggest rules. Just provide your project path and StackGuide will do the rest!',
39
+ inputSchema: {
40
+ type: 'object',
41
+ properties: {
42
+ projectPath: {
43
+ type: 'string',
44
+ description: 'Path to your project directory. Use "." for current directory.'
45
+ }
46
+ },
47
+ required: ['projectPath']
48
+ }
49
+ },
50
+ {
51
+ name: 'detect_project',
52
+ description: 'Analyze a project directory to detect the framework, languages, and suggest the best configuration',
53
+ inputSchema: {
54
+ type: 'object',
55
+ properties: {
56
+ projectPath: {
57
+ type: 'string',
58
+ description: 'Path to your project directory'
59
+ }
60
+ },
61
+ required: ['projectPath']
62
+ }
63
+ },
64
+ {
65
+ name: 'suggest_rules',
66
+ description: 'Get personalized rule suggestions based on your project type and current setup',
67
+ inputSchema: {
68
+ type: 'object',
69
+ properties: {
70
+ projectType: {
71
+ type: 'string',
72
+ description: 'Project type to get suggestions for',
73
+ enum: Object.keys(SUPPORTED_PROJECTS)
74
+ }
75
+ },
76
+ required: []
77
+ }
78
+ },
79
+ {
80
+ name: 'quick_start',
81
+ description: 'Get a quick start guide for your detected or selected project type. Perfect for new users!',
82
+ inputSchema: {
83
+ type: 'object',
84
+ properties: {
85
+ projectPath: {
86
+ type: 'string',
87
+ description: 'Path to analyze (optional if project type already selected)'
88
+ }
89
+ },
90
+ required: []
91
+ }
92
+ },
34
93
  // Project Type Tools
35
94
  {
36
95
  name: 'list_project_types',
@@ -708,6 +767,163 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
708
767
  const { name, arguments: args } = request.params;
709
768
  try {
710
769
  switch (name) {
770
+ // Smart Setup Tools
771
+ case 'auto_setup': {
772
+ const { projectPath } = args;
773
+ const resolvedPath = projectPath === '.' ? process.cwd() : projectPath;
774
+ // Detect project
775
+ const detection = autoDetect.detectProjectType(resolvedPath);
776
+ if (!detection.detected || !detection.projectType) {
777
+ return {
778
+ content: [{
779
+ type: 'text',
780
+ text: JSON.stringify({
781
+ success: false,
782
+ message: 'Could not auto-detect project type',
783
+ hint: 'Please use select_project_type to manually choose your project type',
784
+ availableTypes: Object.keys(SUPPORTED_PROJECTS)
785
+ }, null, 2)
786
+ }]
787
+ };
788
+ }
789
+ // Auto-configure
790
+ const projectType = detection.projectType;
791
+ const project = SUPPORTED_PROJECTS[projectType];
792
+ serverState.activeProjectType = projectType;
793
+ serverState.loadedRules = rulesProvider.getRulesForProject(projectType);
794
+ serverState.loadedKnowledge = knowledgeProvider.getKnowledgeForProject(projectType);
795
+ const setupInstructions = autoDetect.getSetupInstructions(projectType);
796
+ return {
797
+ content: [{
798
+ type: 'text',
799
+ text: JSON.stringify({
800
+ success: true,
801
+ message: `✅ Auto-configured for ${project.name}`,
802
+ detection: {
803
+ projectType: detection.projectType,
804
+ confidence: detection.confidence,
805
+ languages: detection.languages,
806
+ frameworks: detection.frameworks,
807
+ indicators: detection.indicators
808
+ },
809
+ configured: {
810
+ rulesLoaded: serverState.loadedRules.length,
811
+ knowledgeLoaded: serverState.loadedKnowledge.length,
812
+ rules: serverState.loadedRules.map(r => r.name)
813
+ },
814
+ suggestions: detection.suggestions.slice(0, 5),
815
+ nextSteps: [
816
+ 'Use get_full_context to see all loaded rules',
817
+ 'Use browse_cursor_directory to find community rules',
818
+ 'Use save_configuration to save this setup'
819
+ ],
820
+ setupGuide: setupInstructions
821
+ }, null, 2)
822
+ }]
823
+ };
824
+ }
825
+ case 'detect_project': {
826
+ const { projectPath } = args;
827
+ const resolvedPath = projectPath === '.' ? process.cwd() : projectPath;
828
+ const detection = autoDetect.detectProjectType(resolvedPath);
829
+ const quickStart = autoDetect.generateQuickStart(detection);
830
+ return {
831
+ content: [{
832
+ type: 'text',
833
+ text: JSON.stringify({
834
+ ...detection,
835
+ quickStart
836
+ }, null, 2)
837
+ }]
838
+ };
839
+ }
840
+ case 'suggest_rules': {
841
+ const { projectType } = args;
842
+ const pt = projectType || serverState.activeProjectType;
843
+ if (!pt) {
844
+ return {
845
+ content: [{
846
+ type: 'text',
847
+ text: JSON.stringify({
848
+ error: 'No project type specified or selected',
849
+ hint: 'Use auto_setup or select_project_type first, or provide projectType parameter'
850
+ }, null, 2)
851
+ }]
852
+ };
853
+ }
854
+ const suggestions = autoDetect.getSuggestions(pt);
855
+ const builtInRules = rulesProvider.getRulesForProject(pt);
856
+ const cursorCategories = cursorDirectory.getCursorDirectoryCategories()
857
+ .filter(cat => pt.toLowerCase().includes(cat) || cat.includes(pt.split('-')[0]));
858
+ return {
859
+ content: [{
860
+ type: 'text',
861
+ text: JSON.stringify({
862
+ projectType: pt,
863
+ suggestions: suggestions,
864
+ builtInRules: builtInRules.map(r => ({ id: r.id, name: r.name, category: r.category })),
865
+ recommendedCursorCategories: cursorCategories.length > 0 ? cursorCategories : ['Check browse_cursor_directory for all categories'],
866
+ tips: [
867
+ 'Use browse_cursor_directory to import community rules',
868
+ 'Use create_rule to add your own custom rules',
869
+ 'Use save_configuration to persist your setup'
870
+ ]
871
+ }, null, 2)
872
+ }]
873
+ };
874
+ }
875
+ case 'quick_start': {
876
+ const { projectPath } = args;
877
+ let detection = null;
878
+ if (projectPath) {
879
+ const resolvedPath = projectPath === '.' ? process.cwd() : projectPath;
880
+ detection = autoDetect.detectProjectType(resolvedPath);
881
+ }
882
+ else if (serverState.activeProjectType) {
883
+ // Create a pseudo-detection from active state
884
+ detection = {
885
+ detected: true,
886
+ projectType: serverState.activeProjectType,
887
+ confidence: 'high',
888
+ indicators: ['Already configured'],
889
+ suggestions: autoDetect.getSuggestions(serverState.activeProjectType),
890
+ frameworks: SUPPORTED_PROJECTS[serverState.activeProjectType]?.frameworks || [],
891
+ languages: SUPPORTED_PROJECTS[serverState.activeProjectType]?.languages || []
892
+ };
893
+ }
894
+ if (!detection) {
895
+ return {
896
+ content: [{
897
+ type: 'text',
898
+ text: `# StackGuide Quick Start
899
+
900
+ Welcome! Let's get you set up.
901
+
902
+ ## Option 1: Auto-detect (Recommended)
903
+ \`\`\`
904
+ auto_setup projectPath:"."
905
+ \`\`\`
906
+
907
+ ## Option 2: Manual selection
908
+ \`\`\`
909
+ select_project_type projectType:"react-node"
910
+ \`\`\`
911
+
912
+ ## Available project types:
913
+ ${Object.values(SUPPORTED_PROJECTS).map(p => `- **${p.type}**: ${p.name}`).join('\n')}
914
+
915
+ Just tell me about your project and I'll help you configure!`
916
+ }]
917
+ };
918
+ }
919
+ const quickStart = autoDetect.generateQuickStart(detection);
920
+ return {
921
+ content: [{
922
+ type: 'text',
923
+ text: quickStart
924
+ }]
925
+ };
926
+ }
711
927
  // Project Type Tools
712
928
  case 'list_project_types': {
713
929
  const projects = Object.values(SUPPORTED_PROJECTS).map(p => ({
@@ -1633,6 +1849,22 @@ ${webDocsContent || 'No web documentation loaded.'}
1633
1849
  server.setRequestHandler(ListPromptsRequestSchema, async () => {
1634
1850
  return {
1635
1851
  prompts: [
1852
+ {
1853
+ name: 'welcome',
1854
+ description: 'Get started with StackGuide - interactive setup wizard',
1855
+ arguments: []
1856
+ },
1857
+ {
1858
+ name: 'configure_project',
1859
+ description: 'Smart project configuration with auto-detection and suggestions',
1860
+ arguments: [
1861
+ {
1862
+ name: 'projectPath',
1863
+ description: 'Path to your project (use "." for current directory)',
1864
+ required: false
1865
+ }
1866
+ ]
1867
+ },
1636
1868
  {
1637
1869
  name: 'setup_project',
1638
1870
  description: 'Initialize context for a new project',
@@ -1672,6 +1904,110 @@ server.setRequestHandler(ListPromptsRequestSchema, async () => {
1672
1904
  server.setRequestHandler(GetPromptRequestSchema, async (request) => {
1673
1905
  const { name, arguments: promptArgs } = request.params;
1674
1906
  switch (name) {
1907
+ case 'welcome': {
1908
+ const projectTypes = Object.values(SUPPORTED_PROJECTS)
1909
+ .map(p => `- **${p.type}**: ${p.name} (${p.languages.join(', ')})`)
1910
+ .join('\n');
1911
+ return {
1912
+ messages: [{
1913
+ role: 'user',
1914
+ content: {
1915
+ type: 'text',
1916
+ text: `# Welcome to StackGuide! 👋
1917
+
1918
+ I'm your AI coding context manager. I help you load the right rules, standards, and knowledge for your project.
1919
+
1920
+ ## Quick Start
1921
+
1922
+ **Option 1: Auto-detect (Recommended)**
1923
+ Just tell me: "Set up my project" and I'll analyze your codebase and configure everything automatically.
1924
+
1925
+ **Option 2: Tell me about your project**
1926
+ Say something like:
1927
+ - "I'm working on a React app with Node.js backend"
1928
+ - "This is a Django REST API project"
1929
+ - "Configure for Next.js with TypeScript"
1930
+
1931
+ ## Supported Project Types
1932
+ ${projectTypes}
1933
+
1934
+ ## What I Can Do
1935
+ - 📋 Load coding standards and best practices for your stack
1936
+ - 🔍 Browse and import rules from cursor.directory
1937
+ - 📚 Provide architecture patterns and solutions
1938
+ - 💾 Save configurations for your projects
1939
+ - 🌐 Fetch and cache documentation from any URL
1940
+
1941
+ ## Ready?
1942
+ Just describe your project and I'll configure everything for you!`
1943
+ }
1944
+ }]
1945
+ };
1946
+ }
1947
+ case 'configure_project': {
1948
+ const projectPath = promptArgs?.projectPath || '.';
1949
+ const resolvedPath = projectPath === '.' ? process.cwd() : projectPath;
1950
+ let detection = null;
1951
+ try {
1952
+ detection = autoDetect.detectProjectType(resolvedPath);
1953
+ }
1954
+ catch {
1955
+ // Path might not exist or not accessible
1956
+ }
1957
+ if (detection?.detected && detection.projectType) {
1958
+ const suggestions = detection.suggestions.slice(0, 5);
1959
+ return {
1960
+ messages: [{
1961
+ role: 'user',
1962
+ content: {
1963
+ type: 'text',
1964
+ text: `# Project Detected! 🎯
1965
+
1966
+ **Type**: ${detection.projectType}
1967
+ **Confidence**: ${detection.confidence}
1968
+ **Languages**: ${detection.languages.join(', ')}
1969
+ **Frameworks**: ${detection.frameworks.join(', ')}
1970
+
1971
+ ## How I detected this:
1972
+ ${detection.indicators.map(i => `- ${i}`).join('\n')}
1973
+
1974
+ ## Recommended Setup
1975
+
1976
+ ### Suggested Rules:
1977
+ ${suggestions.map(s => `- ${s}`).join('\n')}
1978
+
1979
+ ### Next Steps:
1980
+ 1. Run \`auto_setup projectPath:"${projectPath}"\` to configure automatically
1981
+ 2. Or run \`select_project_type projectType:"${detection.projectType}"\` to activate manually
1982
+ 3. Browse community rules: \`browse_cursor_directory category:"${detection.projectType.split('-')[0]}"\`
1983
+
1984
+ Would you like me to set this up for you?`
1985
+ }
1986
+ }]
1987
+ };
1988
+ }
1989
+ return {
1990
+ messages: [{
1991
+ role: 'user',
1992
+ content: {
1993
+ type: 'text',
1994
+ text: `# Let's Configure Your Project 🔧
1995
+
1996
+ I couldn't auto-detect the project type from the path provided.
1997
+
1998
+ ## Tell me about your project:
1999
+ - What framework are you using? (React, Django, Next.js, etc.)
2000
+ - What language? (TypeScript, Python, etc.)
2001
+ - Is it a full-stack app, API, or frontend-only?
2002
+
2003
+ ## Or choose from available types:
2004
+ ${Object.values(SUPPORTED_PROJECTS).map(p => `- **${p.type}**: ${p.name}`).join('\n')}
2005
+
2006
+ Just tell me and I'll set everything up!`
2007
+ }
2008
+ }]
2009
+ };
2010
+ }
1675
2011
  case 'setup_project': {
1676
2012
  const projectType = promptArgs?.projectType;
1677
2013
  const project = SUPPORTED_PROJECTS[projectType];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Auto-detection service for StackGuide MCP
3
+ * Analyzes project files to automatically detect the project type and suggest configurations
4
+ */
5
+ export interface DetectionResult {
6
+ detected: boolean;
7
+ projectType: string | null;
8
+ confidence: 'high' | 'medium' | 'low';
9
+ indicators: string[];
10
+ suggestions: string[];
11
+ frameworks: string[];
12
+ languages: string[];
13
+ }
14
+ export interface ProjectAnalysis {
15
+ hasPackageJson: boolean;
16
+ hasRequirementsTxt: boolean;
17
+ hasPipfile: boolean;
18
+ hasPoetryLock: boolean;
19
+ hasComposerJson: boolean;
20
+ hasGemfile: boolean;
21
+ hasGoMod: boolean;
22
+ hasCargoToml: boolean;
23
+ hasTsConfig: boolean;
24
+ frameworks: string[];
25
+ dependencies: string[];
26
+ }
27
+ /**
28
+ * Analyze a project directory
29
+ */
30
+ export declare function analyzeProject(projectPath: string): ProjectAnalysis;
31
+ /**
32
+ * Detect project type from a directory path
33
+ */
34
+ export declare function detectProjectType(projectPath: string): DetectionResult;
35
+ /**
36
+ * Get setup instructions for a project type
37
+ */
38
+ export declare function getSetupInstructions(projectType: string): string;
39
+ /**
40
+ * Generate a quick start guide based on detection
41
+ */
42
+ export declare function generateQuickStart(detection: DetectionResult): string;
43
+ /**
44
+ * Get all suggestions for a project type
45
+ */
46
+ export declare function getSuggestions(projectType: string): string[];
47
+ //# sourceMappingURL=autoDetect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoDetect.d.ts","sourceRoot":"","sources":["../../src/services/autoDetect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAuRD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CA+BnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CA6FtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiGhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CA+CrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAE5D"}
@@ -0,0 +1,550 @@
1
+ /**
2
+ * Auto-detection service for StackGuide MCP
3
+ * Analyzes project files to automatically detect the project type and suggest configurations
4
+ */
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ // Framework detection patterns
8
+ const FRAMEWORK_PATTERNS = {
9
+ // Python
10
+ django: {
11
+ dependencies: ['django', 'djangorestframework', 'django-rest-framework'],
12
+ files: ['manage.py', 'settings.py', 'wsgi.py', 'asgi.py'],
13
+ projectType: 'python-django'
14
+ },
15
+ fastapi: {
16
+ dependencies: ['fastapi', 'uvicorn', 'starlette'],
17
+ files: [],
18
+ projectType: 'python-fastapi'
19
+ },
20
+ flask: {
21
+ dependencies: ['flask', 'flask-restful', 'flask-sqlalchemy'],
22
+ files: [],
23
+ projectType: 'python-flask'
24
+ },
25
+ // JavaScript/TypeScript
26
+ nextjs: {
27
+ dependencies: ['next', 'next.js'],
28
+ files: ['next.config.js', 'next.config.mjs', 'next.config.ts'],
29
+ projectType: 'nextjs'
30
+ },
31
+ react: {
32
+ dependencies: ['react', 'react-dom'],
33
+ files: [],
34
+ projectType: 'react-node'
35
+ },
36
+ vue: {
37
+ dependencies: ['vue', 'nuxt', '@vue/cli'],
38
+ files: ['vue.config.js', 'nuxt.config.js'],
39
+ projectType: 'vue-node'
40
+ },
41
+ nestjs: {
42
+ dependencies: ['@nestjs/core', '@nestjs/common'],
43
+ files: ['nest-cli.json'],
44
+ projectType: 'nestjs'
45
+ },
46
+ express: {
47
+ dependencies: ['express'],
48
+ files: [],
49
+ projectType: 'express'
50
+ },
51
+ // PHP
52
+ laravel: {
53
+ dependencies: ['laravel/framework'],
54
+ files: ['artisan', 'app/Http/Kernel.php'],
55
+ projectType: 'laravel'
56
+ },
57
+ // Ruby
58
+ rails: {
59
+ dependencies: ['rails', 'railties'],
60
+ files: ['config/application.rb', 'bin/rails', 'Rakefile'],
61
+ projectType: 'rails'
62
+ },
63
+ // Go
64
+ golang: {
65
+ dependencies: [],
66
+ files: ['go.mod', 'go.sum', 'main.go'],
67
+ projectType: 'golang'
68
+ },
69
+ // Rust
70
+ rust: {
71
+ dependencies: [],
72
+ files: ['Cargo.toml', 'Cargo.lock'],
73
+ projectType: 'rust'
74
+ }
75
+ };
76
+ // Suggested rules per project type
77
+ const SUGGESTED_RULES = {
78
+ 'python-django': [
79
+ 'django-best-practices',
80
+ 'django-standards',
81
+ 'security-guidelines',
82
+ 'Use Django ORM properly with select_related and prefetch_related',
83
+ 'Follow MVT pattern strictly',
84
+ 'Implement proper authentication with Django REST Framework'
85
+ ],
86
+ 'python-fastapi': [
87
+ 'Use Pydantic models for validation',
88
+ 'Implement async endpoints for I/O operations',
89
+ 'Use dependency injection for shared resources',
90
+ 'Follow OpenAPI documentation best practices'
91
+ ],
92
+ 'python-flask': [
93
+ 'Use Flask Blueprints for modular code',
94
+ 'Implement proper error handling',
95
+ 'Use Flask-SQLAlchemy for database operations',
96
+ 'Follow application factory pattern'
97
+ ],
98
+ 'react-node': [
99
+ 'react-best-practices',
100
+ 'react-standards',
101
+ 'node-standards',
102
+ 'security-guidelines',
103
+ 'Use functional components with hooks',
104
+ 'Implement proper state management',
105
+ 'Follow Express.js best practices'
106
+ ],
107
+ 'react-typescript': [
108
+ 'Use strict TypeScript configuration',
109
+ 'Define proper interfaces for props',
110
+ 'Use generics for reusable components',
111
+ 'Implement proper type guards'
112
+ ],
113
+ 'nextjs': [
114
+ 'Use App Router (Next.js 13+)',
115
+ 'Implement proper server components',
116
+ 'Optimize images with next/image',
117
+ 'Use proper data fetching patterns'
118
+ ],
119
+ 'nestjs': [
120
+ 'Use dependency injection properly',
121
+ 'Implement proper DTOs with class-validator',
122
+ 'Follow modular architecture',
123
+ 'Use guards for authentication'
124
+ ],
125
+ 'vue-node': [
126
+ 'Use Composition API',
127
+ 'Implement proper state management with Pinia',
128
+ 'Follow Vue style guide',
129
+ 'Use proper component communication'
130
+ ],
131
+ 'express': [
132
+ 'Use proper middleware patterns',
133
+ 'Implement error handling middleware',
134
+ 'Use async/await with proper error catching',
135
+ 'Follow RESTful API design'
136
+ ],
137
+ 'laravel': [
138
+ 'Use Eloquent ORM properly',
139
+ 'Implement proper validation',
140
+ 'Follow Laravel naming conventions',
141
+ 'Use service classes for business logic'
142
+ ],
143
+ 'rails': [
144
+ 'Follow Rails conventions',
145
+ 'Use Active Record properly',
146
+ 'Implement proper validations',
147
+ 'Use concerns for shared code'
148
+ ],
149
+ 'golang': [
150
+ 'Follow Go idioms',
151
+ 'Use proper error handling',
152
+ 'Implement interfaces for abstraction',
153
+ 'Use goroutines properly'
154
+ ],
155
+ 'rust': [
156
+ 'Use ownership properly',
157
+ 'Implement proper error handling with Result',
158
+ 'Use lifetimes correctly',
159
+ 'Follow Rust naming conventions'
160
+ ]
161
+ };
162
+ /**
163
+ * Read and parse package.json if it exists
164
+ */
165
+ function readPackageJson(projectPath) {
166
+ try {
167
+ const packageJsonPath = path.join(projectPath, 'package.json');
168
+ if (fs.existsSync(packageJsonPath)) {
169
+ const content = fs.readFileSync(packageJsonPath, 'utf-8');
170
+ return JSON.parse(content);
171
+ }
172
+ }
173
+ catch {
174
+ // Ignore errors
175
+ }
176
+ return null;
177
+ }
178
+ /**
179
+ * Read and parse requirements.txt if it exists
180
+ */
181
+ function readRequirementsTxt(projectPath) {
182
+ try {
183
+ const reqPath = path.join(projectPath, 'requirements.txt');
184
+ if (fs.existsSync(reqPath)) {
185
+ const content = fs.readFileSync(reqPath, 'utf-8');
186
+ return content.split('\n')
187
+ .map(line => line.trim().toLowerCase())
188
+ .filter(line => line && !line.startsWith('#'))
189
+ .map(line => line.split('==')[0].split('>=')[0].split('<=')[0].split('[')[0]);
190
+ }
191
+ }
192
+ catch {
193
+ // Ignore errors
194
+ }
195
+ return [];
196
+ }
197
+ /**
198
+ * Read Pipfile if it exists
199
+ */
200
+ function readPipfile(projectPath) {
201
+ try {
202
+ const pipfilePath = path.join(projectPath, 'Pipfile');
203
+ if (fs.existsSync(pipfilePath)) {
204
+ const content = fs.readFileSync(pipfilePath, 'utf-8');
205
+ const deps = [];
206
+ const matches = content.matchAll(/^([a-zA-Z0-9_-]+)\s*=/gm);
207
+ for (const match of matches) {
208
+ deps.push(match[1].toLowerCase());
209
+ }
210
+ return deps;
211
+ }
212
+ }
213
+ catch {
214
+ // Ignore errors
215
+ }
216
+ return [];
217
+ }
218
+ /**
219
+ * Read composer.json if it exists (PHP/Laravel)
220
+ */
221
+ function readComposerJson(projectPath) {
222
+ try {
223
+ const composerPath = path.join(projectPath, 'composer.json');
224
+ if (fs.existsSync(composerPath)) {
225
+ const content = fs.readFileSync(composerPath, 'utf-8');
226
+ const composer = JSON.parse(content);
227
+ const deps = [];
228
+ if (composer.require) {
229
+ deps.push(...Object.keys(composer.require));
230
+ }
231
+ if (composer['require-dev']) {
232
+ deps.push(...Object.keys(composer['require-dev']));
233
+ }
234
+ return deps.map(d => d.toLowerCase());
235
+ }
236
+ }
237
+ catch {
238
+ // Ignore errors
239
+ }
240
+ return [];
241
+ }
242
+ /**
243
+ * Read Gemfile if it exists (Ruby/Rails)
244
+ */
245
+ function readGemfile(projectPath) {
246
+ try {
247
+ const gemfilePath = path.join(projectPath, 'Gemfile');
248
+ if (fs.existsSync(gemfilePath)) {
249
+ const content = fs.readFileSync(gemfilePath, 'utf-8');
250
+ const gems = [];
251
+ const matches = content.matchAll(/gem\s+['"]([^'"]+)['"]/g);
252
+ for (const match of matches) {
253
+ gems.push(match[1].toLowerCase());
254
+ }
255
+ return gems;
256
+ }
257
+ }
258
+ catch {
259
+ // Ignore errors
260
+ }
261
+ return [];
262
+ }
263
+ /**
264
+ * Check if specific files exist in the project
265
+ */
266
+ function checkFiles(projectPath, files) {
267
+ const found = [];
268
+ for (const file of files) {
269
+ const filePath = path.join(projectPath, file);
270
+ if (fs.existsSync(filePath)) {
271
+ found.push(file);
272
+ }
273
+ }
274
+ return found;
275
+ }
276
+ /**
277
+ * Analyze a project directory
278
+ */
279
+ export function analyzeProject(projectPath) {
280
+ const analysis = {
281
+ hasPackageJson: fs.existsSync(path.join(projectPath, 'package.json')),
282
+ hasRequirementsTxt: fs.existsSync(path.join(projectPath, 'requirements.txt')),
283
+ hasPipfile: fs.existsSync(path.join(projectPath, 'Pipfile')),
284
+ hasPoetryLock: fs.existsSync(path.join(projectPath, 'poetry.lock')),
285
+ hasComposerJson: fs.existsSync(path.join(projectPath, 'composer.json')),
286
+ hasGemfile: fs.existsSync(path.join(projectPath, 'Gemfile')),
287
+ hasGoMod: fs.existsSync(path.join(projectPath, 'go.mod')),
288
+ hasCargoToml: fs.existsSync(path.join(projectPath, 'Cargo.toml')),
289
+ hasTsConfig: fs.existsSync(path.join(projectPath, 'tsconfig.json')),
290
+ frameworks: [],
291
+ dependencies: []
292
+ };
293
+ // Collect all dependencies
294
+ const packageJson = readPackageJson(projectPath);
295
+ if (packageJson) {
296
+ const deps = [
297
+ ...Object.keys(packageJson.dependencies || {}),
298
+ ...Object.keys(packageJson.devDependencies || {})
299
+ ];
300
+ analysis.dependencies.push(...deps.map(d => d.toLowerCase()));
301
+ }
302
+ analysis.dependencies.push(...readRequirementsTxt(projectPath));
303
+ analysis.dependencies.push(...readPipfile(projectPath));
304
+ analysis.dependencies.push(...readComposerJson(projectPath));
305
+ analysis.dependencies.push(...readGemfile(projectPath));
306
+ return analysis;
307
+ }
308
+ /**
309
+ * Detect project type from a directory path
310
+ */
311
+ export function detectProjectType(projectPath) {
312
+ const result = {
313
+ detected: false,
314
+ projectType: null,
315
+ confidence: 'low',
316
+ indicators: [],
317
+ suggestions: [],
318
+ frameworks: [],
319
+ languages: []
320
+ };
321
+ if (!fs.existsSync(projectPath)) {
322
+ return result;
323
+ }
324
+ const analysis = analyzeProject(projectPath);
325
+ // Determine languages
326
+ if (analysis.hasPackageJson || analysis.hasTsConfig) {
327
+ result.languages.push(analysis.hasTsConfig ? 'TypeScript' : 'JavaScript');
328
+ }
329
+ if (analysis.hasRequirementsTxt || analysis.hasPipfile || analysis.hasPoetryLock) {
330
+ result.languages.push('Python');
331
+ }
332
+ if (analysis.hasComposerJson) {
333
+ result.languages.push('PHP');
334
+ }
335
+ if (analysis.hasGemfile) {
336
+ result.languages.push('Ruby');
337
+ }
338
+ if (analysis.hasGoMod) {
339
+ result.languages.push('Go');
340
+ }
341
+ if (analysis.hasCargoToml) {
342
+ result.languages.push('Rust');
343
+ }
344
+ // Detect frameworks with priority (more specific first)
345
+ const detectionOrder = [
346
+ 'nextjs', 'nestjs', 'vue', 'django', 'fastapi', 'flask',
347
+ 'laravel', 'rails', 'react', 'express', 'golang', 'rust'
348
+ ];
349
+ for (const framework of detectionOrder) {
350
+ const pattern = FRAMEWORK_PATTERNS[framework];
351
+ let matched = false;
352
+ // Check dependencies
353
+ for (const dep of pattern.dependencies) {
354
+ if (analysis.dependencies.includes(dep.toLowerCase())) {
355
+ result.indicators.push(`Found dependency: ${dep}`);
356
+ result.frameworks.push(framework);
357
+ matched = true;
358
+ break;
359
+ }
360
+ }
361
+ // Check files
362
+ if (!matched) {
363
+ const foundFiles = checkFiles(projectPath, pattern.files);
364
+ if (foundFiles.length > 0) {
365
+ result.indicators.push(`Found file(s): ${foundFiles.join(', ')}`);
366
+ result.frameworks.push(framework);
367
+ matched = true;
368
+ }
369
+ }
370
+ // Set project type on first match
371
+ if (matched && !result.projectType) {
372
+ result.projectType = pattern.projectType;
373
+ result.detected = true;
374
+ // Determine confidence
375
+ if (result.indicators.length >= 3) {
376
+ result.confidence = 'high';
377
+ }
378
+ else if (result.indicators.length >= 2) {
379
+ result.confidence = 'medium';
380
+ }
381
+ }
382
+ }
383
+ // Add suggestions based on detected type
384
+ if (result.projectType && SUGGESTED_RULES[result.projectType]) {
385
+ result.suggestions = SUGGESTED_RULES[result.projectType];
386
+ }
387
+ // Special case: React + TypeScript
388
+ if (result.frameworks.includes('react') && analysis.hasTsConfig) {
389
+ result.projectType = 'react-typescript';
390
+ result.detected = true;
391
+ }
392
+ return result;
393
+ }
394
+ /**
395
+ * Get setup instructions for a project type
396
+ */
397
+ export function getSetupInstructions(projectType) {
398
+ const instructions = {
399
+ 'python-django': `
400
+ ## Django Project Setup
401
+
402
+ 1. **Activate context**: The Django context has been activated with DRF support.
403
+
404
+ 2. **Recommended rules loaded**:
405
+ - Django coding standards
406
+ - Django best practices
407
+ - Security guidelines
408
+
409
+ 3. **Key patterns available**:
410
+ - MVT architecture
411
+ - DRF serializers and viewsets
412
+ - Authentication patterns
413
+
414
+ 4. **Suggested workflow**:
415
+ - Use \`get_full_context\` to see all loaded rules
416
+ - Use \`browse_cursor_directory category:"django"\` for community rules
417
+ - Use \`save_configuration\` to save your setup
418
+ `,
419
+ 'python-fastapi': `
420
+ ## FastAPI Project Setup
421
+
422
+ 1. **Activate context**: FastAPI context with async support.
423
+
424
+ 2. **Key patterns**:
425
+ - Pydantic models for validation
426
+ - Dependency injection
427
+ - Async/await patterns
428
+ - OpenAPI documentation
429
+
430
+ 3. **Suggested workflow**:
431
+ - Use \`browse_cursor_directory category:"fastapi"\` for rules
432
+ - Consider importing Python best practices
433
+ `,
434
+ 'react-node': `
435
+ ## React + Node.js Project Setup
436
+
437
+ 1. **Activate context**: Full-stack React/Node context.
438
+
439
+ 2. **Recommended rules loaded**:
440
+ - React best practices (hooks, components)
441
+ - Node.js/Express standards
442
+ - Security guidelines
443
+
444
+ 3. **Key patterns available**:
445
+ - Component patterns
446
+ - State management
447
+ - API design
448
+
449
+ 4. **Suggested workflow**:
450
+ - Use \`browse_cursor_directory category:"react"\` for frontend rules
451
+ - Use \`browse_cursor_directory category:"nodejs"\` for backend rules
452
+ `,
453
+ 'nextjs': `
454
+ ## Next.js Project Setup
455
+
456
+ 1. **Activate context**: Next.js with App Router support.
457
+
458
+ 2. **Key patterns**:
459
+ - Server Components
460
+ - Server Actions
461
+ - Data fetching patterns
462
+ - Image optimization
463
+
464
+ 3. **Suggested workflow**:
465
+ - Use \`browse_cursor_directory category:"nextjs"\` for community rules
466
+ - Consider TypeScript strict mode
467
+ `,
468
+ 'nestjs': `
469
+ ## NestJS Project Setup
470
+
471
+ 1. **Activate context**: NestJS enterprise patterns.
472
+
473
+ 2. **Key patterns**:
474
+ - Dependency Injection
475
+ - Decorators
476
+ - Guards and Interceptors
477
+ - DTOs with class-validator
478
+
479
+ 3. **Suggested workflow**:
480
+ - Use \`browse_cursor_directory category:"nestjs"\` for rules
481
+ `
482
+ };
483
+ return instructions[projectType] || `
484
+ ## ${projectType} Project Setup
485
+
486
+ Context has been activated. Use \`get_full_context\` to see loaded rules.
487
+
488
+ Suggested:
489
+ - \`list_rules\` - See available rules
490
+ - \`browse_cursor_directory\` - Find community rules
491
+ - \`save_configuration\` - Save your setup
492
+ `;
493
+ }
494
+ /**
495
+ * Generate a quick start guide based on detection
496
+ */
497
+ export function generateQuickStart(detection) {
498
+ if (!detection.detected) {
499
+ return `
500
+ # Quick Start
501
+
502
+ Could not auto-detect project type. Please run:
503
+
504
+ \`select_project_type\` with one of:
505
+ - python-django
506
+ - python-fastapi
507
+ - python-flask
508
+ - react-node
509
+ - react-typescript
510
+ - nextjs
511
+ - nestjs
512
+ - vue-node
513
+ - express
514
+ - laravel
515
+ - rails
516
+ - golang
517
+ - rust
518
+
519
+ Or tell me about your project and I'll help configure it!
520
+ `;
521
+ }
522
+ return `
523
+ # Quick Start - ${detection.projectType}
524
+
525
+ ✅ **Detected**: ${detection.projectType} (${detection.confidence} confidence)
526
+
527
+ **Indicators found**:
528
+ ${detection.indicators.map(i => `- ${i}`).join('\n')}
529
+
530
+ **Languages**: ${detection.languages.join(', ')}
531
+ **Frameworks**: ${detection.frameworks.join(', ')}
532
+
533
+ ## Recommended Setup
534
+
535
+ ${detection.suggestions.slice(0, 5).map(s => `- ${s}`).join('\n')}
536
+
537
+ ## Next Steps
538
+
539
+ 1. Run \`auto_setup\` to automatically configure everything
540
+ 2. Or run \`select_project_type projectType:"${detection.projectType}"\` to activate manually
541
+ 3. Use \`browse_cursor_directory\` to find community rules for your stack
542
+ `;
543
+ }
544
+ /**
545
+ * Get all suggestions for a project type
546
+ */
547
+ export function getSuggestions(projectType) {
548
+ return SUGGESTED_RULES[projectType] || [];
549
+ }
550
+ //# sourceMappingURL=autoDetect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoDetect.js","sourceRoot":"","sources":["../../src/services/autoDetect.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackguide/mcp-server",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "MCP Server for dynamic language and framework context loading - Compatible with Cursor and GitHub Copilot",
5
5
  "main": "dist/index.js",
6
6
  "bin": {