sinapse-ai 7.0.5 → 7.2.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.
Files changed (93) hide show
  1. package/.sinapse-ai/core-config.yaml +2 -26
  2. package/.sinapse-ai/data/entity-registry.yaml +742 -917
  3. package/.sinapse-ai/data/registry-update-log.jsonl +22 -0
  4. package/.sinapse-ai/infrastructure/scripts/ide-sync/index.js +1 -49
  5. package/.sinapse-ai/infrastructure/scripts/validate-parity.js +0 -7
  6. package/.sinapse-ai/install-manifest.yaml +11 -43
  7. package/README.en.md +6 -11
  8. package/README.md +6 -11
  9. package/bin/cli.js +116 -75
  10. package/bin/modules/env-config.js +1 -2
  11. package/bin/sinapse-init.js +23 -188
  12. package/docs/ide-integration.md +22 -263
  13. package/docs/installation/README.md +4 -6
  14. package/docs/installation/faq.md +10 -33
  15. package/docs/installation/linux.md +0 -23
  16. package/docs/installation/macos.md +0 -10
  17. package/docs/installation/troubleshooting.md +5 -9
  18. package/docs/installation/v4-quick-start.md +1 -1
  19. package/docs/installation/windows.md +0 -18
  20. package/package.json +2 -9
  21. package/packages/installer/src/config/ide-configs.js +3 -49
  22. package/squads/claude-code-mastery/CHANGELOG.md +22 -0
  23. package/squads/claude-code-mastery/README.md +146 -0
  24. package/squads/claude-code-mastery/agents/claude-mastery-chief.md +554 -0
  25. package/squads/claude-code-mastery/agents/config-engineer.md +865 -0
  26. package/squads/claude-code-mastery/agents/hooks-architect.md +1013 -0
  27. package/squads/claude-code-mastery/agents/mcp-integrator.md +791 -0
  28. package/squads/claude-code-mastery/agents/project-integrator.md +1196 -0
  29. package/squads/claude-code-mastery/agents/roadmap-sentinel.md +931 -0
  30. package/squads/claude-code-mastery/agents/skill-craftsman.md +1250 -0
  31. package/squads/claude-code-mastery/agents/swarm-orqx.md +1008 -0
  32. package/squads/claude-code-mastery/checklists/agent-team-readiness-checklist.md +88 -0
  33. package/squads/claude-code-mastery/checklists/brownfield-readiness-checklist.md +91 -0
  34. package/squads/claude-code-mastery/checklists/change-checklist.md +75 -0
  35. package/squads/claude-code-mastery/checklists/context-rot-checklist.md +114 -0
  36. package/squads/claude-code-mastery/checklists/integration-audit-checklist.md +104 -0
  37. package/squads/claude-code-mastery/checklists/multi-agent-review-checklist.md +77 -0
  38. package/squads/claude-code-mastery/checklists/pre-push-checklist.md +79 -0
  39. package/squads/claude-code-mastery/data/ci-cd-patterns.yaml +412 -0
  40. package/squads/claude-code-mastery/data/claude-code-quick-ref.yaml +314 -0
  41. package/squads/claude-code-mastery/data/hook-patterns.yaml +512 -0
  42. package/squads/claude-code-mastery/data/mcp-integration-catalog.yaml +323 -0
  43. package/squads/claude-code-mastery/data/project-type-signatures.yaml +335 -0
  44. package/squads/claude-code-mastery/scripts/validate-setup.js +163 -0
  45. package/squads/claude-code-mastery/squad.yaml +205 -0
  46. package/squads/claude-code-mastery/tasks/audit-integration.md +219 -0
  47. package/squads/claude-code-mastery/tasks/audit-settings.md +206 -0
  48. package/squads/claude-code-mastery/tasks/audit-setup.md +225 -0
  49. package/squads/claude-code-mastery/tasks/brownfield-setup.md +322 -0
  50. package/squads/claude-code-mastery/tasks/ci-cd-setup.md +335 -0
  51. package/squads/claude-code-mastery/tasks/claude-md-engineer.md +334 -0
  52. package/squads/claude-code-mastery/tasks/configure-claude-code.md +215 -0
  53. package/squads/claude-code-mastery/tasks/context-rot-audit.md +329 -0
  54. package/squads/claude-code-mastery/tasks/create-agent-definition.md +278 -0
  55. package/squads/claude-code-mastery/tasks/create-rules.md +206 -0
  56. package/squads/claude-code-mastery/tasks/create-team-topology.md +258 -0
  57. package/squads/claude-code-mastery/tasks/diagnose.md +166 -0
  58. package/squads/claude-code-mastery/tasks/enterprise-config.md +346 -0
  59. package/squads/claude-code-mastery/tasks/hook-designer.md +272 -0
  60. package/squads/claude-code-mastery/tasks/integrate-project.md +304 -0
  61. package/squads/claude-code-mastery/tasks/mcp-integration-plan.md +229 -0
  62. package/squads/claude-code-mastery/tasks/mcp-workflow.md +285 -0
  63. package/squads/claude-code-mastery/tasks/multi-project-setup.md +228 -0
  64. package/squads/claude-code-mastery/tasks/optimize-context.md +217 -0
  65. package/squads/claude-code-mastery/tasks/optimize-workflow.md +226 -0
  66. package/squads/claude-code-mastery/tasks/parallel-decomposition.md +293 -0
  67. package/squads/claude-code-mastery/tasks/permission-strategy.md +266 -0
  68. package/squads/claude-code-mastery/tasks/sandbox-setup.md +279 -0
  69. package/squads/claude-code-mastery/tasks/setup-repository.md +230 -0
  70. package/squads/claude-code-mastery/tasks/setup-wizard.md +236 -0
  71. package/squads/claude-code-mastery/tasks/worktree-strategy.md +320 -0
  72. package/squads/claude-code-mastery/templates/claude-md-fullstack.md +147 -0
  73. package/squads/claude-code-mastery/templates/claude-md-library.md +175 -0
  74. package/squads/claude-code-mastery/templates/claude-md-microservices.md +186 -0
  75. package/squads/claude-code-mastery/templates/claude-md-mobile.md +198 -0
  76. package/squads/claude-code-mastery/templates/claude-md-monorepo.md +139 -0
  77. package/squads/claude-code-mastery/templates/github-actions-claude-ci.yml +348 -0
  78. package/squads/claude-code-mastery/templates/github-actions-claude-review.yml +179 -0
  79. package/squads/claude-code-mastery/workflows/wf-audit-complete.yaml +140 -0
  80. package/squads/claude-code-mastery/workflows/wf-knowledge-update.yaml +165 -0
  81. package/squads/claude-code-mastery/workflows/wf-project-setup.yaml +192 -0
  82. package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/antigravity.js +0 -105
  83. package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/cursor.js +0 -94
  84. package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/github-copilot.js +0 -184
  85. package/.sinapse-ai/infrastructure/scripts/validate-gemini-integration.js +0 -151
  86. package/.sinapse-ai/product/templates/ide-rules/antigravity-rules.md +0 -115
  87. package/.sinapse-ai/product/templates/ide-rules/copilot-rules.md +0 -92
  88. package/.sinapse-ai/product/templates/ide-rules/cursor-rules.md +0 -115
  89. package/.sinapse-ai/product/templates/ide-rules/gemini-rules.md +0 -87
  90. package/docs/pt/platforms/antigravity.md +0 -508
  91. package/docs/pt/platforms/cursor.md +0 -633
  92. package/docs/pt/platforms/gemini-cli.md +0 -481
  93. package/docs/pt/platforms/github-copilot.md +0 -478
@@ -1,184 +0,0 @@
1
- /**
2
- * GitHub Copilot Transformer - YAML frontmatter + condensed markdown
3
- * @story 6.19 - IDE Command Auto-Sync System
4
- * @issue #138 - Agent files not compatible with GitHub Copilot
5
- *
6
- * Format: .agent.md files with YAML frontmatter (--- delimiters)
7
- * Target: .github/agents/*.agent.md
8
- *
9
- * GitHub Copilot custom agents require:
10
- * - YAML frontmatter with `description` (required), `name`, `tools`
11
- * - Markdown body under 30,000 characters
12
- * - File extension: .agent.md
13
- *
14
- * @see https://docs.github.com/en/copilot/reference/custom-agents-configuration
15
- */
16
-
17
- const { normalizeCommands, getVisibleCommands } = require('../agent-parser');
18
-
19
- /**
20
- * Transform agent data to GitHub Copilot custom agent format
21
- * @param {object} agentData - Parsed agent data from agent-parser
22
- * @returns {string} - Transformed content with YAML frontmatter
23
- */
24
- function transform(agentData) {
25
- const agent = agentData.agent || {};
26
- const persona = agentData.persona_profile || {};
27
- const yamlData = agentData.yaml || {};
28
- const personaBlock = yamlData.persona || {};
29
-
30
- const id = agent.id || agentData.id;
31
- const name = agent.name || id;
32
- const title = agent.title || 'SINAPSE Agent';
33
- const icon = agent.icon || '';
34
- const description = escapeYamlString(agent.whenToUse || `${title} agent for development tasks`);
35
-
36
- // Build YAML frontmatter
37
- const frontmatter = [
38
- '---',
39
- `name: ${id}`,
40
- `description: '${description}'`,
41
- `tools: ['read', 'edit', 'search', 'execute']`,
42
- '---',
43
- ].join('\n');
44
-
45
- // Build markdown body
46
- const body = buildMarkdownBody({
47
- id,
48
- name,
49
- title,
50
- icon,
51
- personaBlock,
52
- persona,
53
- commands: agentData.commands || [],
54
- sections: agentData.sections || {},
55
- corePrinciples: yamlData.core_principles,
56
- filename: agentData.filename,
57
- });
58
-
59
- const content = `${frontmatter}\n\n${body}`;
60
-
61
- // Enforce 30K character limit
62
- if (content.length > 30000) {
63
- return truncateContent(content, 30000);
64
- }
65
-
66
- return content;
67
- }
68
-
69
- /**
70
- * Build the markdown body for the Copilot agent prompt
71
- * @param {object} params - Agent parameters
72
- * @returns {string} - Markdown body
73
- */
74
- function buildMarkdownBody(params) {
75
- const { id, name, title, icon, personaBlock, persona, commands, sections, filename } = params;
76
-
77
- const parts = [];
78
-
79
- // Header
80
- const headerIcon = icon ? `${icon} ` : '';
81
- parts.push(`# ${headerIcon}${name} Agent (@${id})\n`);
82
-
83
- // Role description
84
- if (personaBlock.role) {
85
- parts.push(`You are an expert ${personaBlock.role}.\n`);
86
- } else {
87
- parts.push(`You are an expert ${title}.\n`);
88
- }
89
-
90
- // Style
91
- if (personaBlock.style) {
92
- parts.push(`## Style\n\n${personaBlock.style}\n`);
93
- }
94
-
95
- // Core principles (may be in persona block or at root level of YAML)
96
- const corePrinciples = personaBlock.core_principles || params.corePrinciples;
97
- if (corePrinciples && Array.isArray(corePrinciples)) {
98
- parts.push('## Core Principles\n');
99
- for (const principle of corePrinciples) {
100
- // Handle both string and object formats (YAML may parse "KEY: value" as {KEY: value})
101
- if (typeof principle === 'string') {
102
- parts.push(`- ${principle}`);
103
- } else if (typeof principle === 'object' && principle !== null) {
104
- const entries = Object.entries(principle);
105
- for (const [key, value] of entries) {
106
- parts.push(`- ${key}: ${value}`);
107
- }
108
- }
109
- }
110
- parts.push('');
111
- }
112
-
113
- // Commands reference
114
- const allCommands = normalizeCommands(commands);
115
- const keyCommands = getVisibleCommands(allCommands, 'key');
116
- const quickCommands = getVisibleCommands(allCommands, 'quick');
117
- const displayCommands = keyCommands.length > 0 ? keyCommands : quickCommands.slice(0, 10);
118
-
119
- if (displayCommands.length > 0) {
120
- parts.push('## Commands\n');
121
- parts.push('Use `*` prefix for commands:\n');
122
- for (const cmd of displayCommands) {
123
- parts.push(`- \`*${cmd.name}\` - ${cmd.description || 'No description'}`);
124
- }
125
- parts.push('');
126
- }
127
-
128
- // Collaboration section (condensed)
129
- if (sections.collaboration) {
130
- parts.push(`## Collaboration\n\n${sections.collaboration}\n`);
131
- }
132
-
133
- // Sync footer
134
- parts.push('---');
135
- parts.push(`*SINAPSE Agent - Synced from .sinapse-ai/development/agents/${filename}*`);
136
- parts.push('');
137
-
138
- return parts.join('\n');
139
- }
140
-
141
- /**
142
- * Escape a string for use as a YAML single-quoted value
143
- * Single quotes inside the string must be doubled
144
- * @param {string} str - Input string
145
- * @returns {string} - Escaped string
146
- */
147
- function escapeYamlString(str) {
148
- if (!str) return '';
149
- // In YAML single-quoted strings, single quotes are escaped by doubling them
150
- return str.replace(/'/g, "''");
151
- }
152
-
153
- /**
154
- * Truncate content to fit within character limit while keeping structure valid
155
- * @param {string} content - Full content
156
- * @param {number} maxChars - Maximum characters
157
- * @returns {string} - Truncated content
158
- */
159
- function truncateContent(content, maxChars) {
160
- // Find the last complete section before the limit
161
- const truncated = content.substring(0, maxChars - 100);
162
- const lastNewline = truncated.lastIndexOf('\n\n');
163
-
164
- if (lastNewline > 0) {
165
- return truncated.substring(0, lastNewline) + '\n\n---\n*Content truncated to fit 30K limit*\n';
166
- }
167
- return truncated + '\n\n---\n*Content truncated to fit 30K limit*\n';
168
- }
169
-
170
- /**
171
- * Get the target filename for this agent (with .agent.md extension)
172
- * @param {object} agentData - Parsed agent data
173
- * @returns {string} - Target filename (e.g., "dev.agent.md")
174
- */
175
- function getFilename(agentData) {
176
- const id = (agentData.agent && agentData.agent.id) || agentData.id;
177
- return `${id}.agent.md`;
178
- }
179
-
180
- module.exports = {
181
- transform,
182
- getFilename,
183
- format: 'github-copilot',
184
- };
@@ -1,151 +0,0 @@
1
- #!/usr/bin/env node
2
- 'use strict';
3
-
4
- const fs = require('fs');
5
- const path = require('path');
6
-
7
- function getDefaultOptions() {
8
- const projectRoot = process.cwd();
9
- return {
10
- projectRoot,
11
- rulesFile: path.join(projectRoot, '.gemini', 'rules.md'),
12
- agentsDir: path.join(projectRoot, '.gemini', 'rules', 'SINAPSE', 'agents'),
13
- commandsDir: path.join(projectRoot, '.gemini', 'commands'),
14
- extensionDir: path.join(projectRoot, 'packages', 'gemini-sinapse-extension'),
15
- sourceAgentsDir: path.join(projectRoot, '.sinapse-ai', 'development', 'agents'),
16
- quiet: false,
17
- json: false,
18
- };
19
- }
20
-
21
- function parseArgs(argv = process.argv.slice(2)) {
22
- const args = new Set(argv);
23
- return {
24
- quiet: args.has('--quiet') || args.has('-q'),
25
- json: args.has('--json'),
26
- };
27
- }
28
-
29
- function countMarkdownFiles(dirPath) {
30
- if (!fs.existsSync(dirPath)) return 0;
31
- return fs.readdirSync(dirPath).filter((f) => f.endsWith('.md')).length;
32
- }
33
-
34
- function validateGeminiIntegration(options = {}) {
35
- const projectRoot = options.projectRoot || process.cwd();
36
- const resolved = {
37
- ...getDefaultOptions(),
38
- ...options,
39
- projectRoot,
40
- rulesFile: options.rulesFile || path.join(projectRoot, '.gemini', 'rules.md'),
41
- agentsDir: options.agentsDir || path.join(projectRoot, '.gemini', 'rules', 'SINAPSE', 'agents'),
42
- commandsDir: options.commandsDir || path.join(projectRoot, '.gemini', 'commands'),
43
- extensionDir: options.extensionDir || path.join(projectRoot, 'packages', 'gemini-sinapse-extension'),
44
- sourceAgentsDir: options.sourceAgentsDir || path.join(projectRoot, '.sinapse-ai', 'development', 'agents'),
45
- };
46
- const errors = [];
47
- const warnings = [];
48
-
49
- if (!fs.existsSync(resolved.rulesFile)) {
50
- warnings.push(`Gemini rules file not found yet: ${path.relative(resolved.projectRoot, resolved.rulesFile)}`);
51
- }
52
-
53
- if (!fs.existsSync(resolved.agentsDir)) {
54
- errors.push(`Missing Gemini agents dir: ${path.relative(resolved.projectRoot, resolved.agentsDir)}`);
55
- }
56
- if (!fs.existsSync(resolved.commandsDir)) {
57
- errors.push(`Missing Gemini commands dir: ${path.relative(resolved.projectRoot, resolved.commandsDir)}`);
58
- }
59
-
60
- const sourceCount = countMarkdownFiles(resolved.sourceAgentsDir);
61
- const geminiCount = countMarkdownFiles(resolved.agentsDir);
62
- const commandFiles = fs.existsSync(resolved.commandsDir)
63
- ? fs.readdirSync(resolved.commandsDir).filter((f) => f.endsWith('.toml'))
64
- : [];
65
- const expectedCommandCount = sourceCount > 0 ? sourceCount + 1 : 0;
66
-
67
- if (sourceCount > 0 && commandFiles.length !== expectedCommandCount) {
68
- warnings.push(`Gemini command count differs from source (${commandFiles.length}/${expectedCommandCount})`);
69
- }
70
- if (!commandFiles.includes('sinapse-menu.toml')) {
71
- errors.push(`Missing Gemini command file: ${path.relative(resolved.projectRoot, path.join(resolved.commandsDir, 'sinapse-menu.toml'))}`);
72
- }
73
- if (sourceCount > 0 && geminiCount !== sourceCount) {
74
- warnings.push(`Gemini agent count differs from source (${geminiCount}/${sourceCount})`);
75
- }
76
-
77
- const requiredExtensionFiles = [
78
- 'extension.json',
79
- 'README.md',
80
- path.join('commands', 'sinapse-status.js'),
81
- path.join('commands', 'sinapse-agents.js'),
82
- path.join('commands', 'sinapse-validate.js'),
83
- path.join('hooks', 'hooks.json'),
84
- ];
85
-
86
- for (const rel of requiredExtensionFiles) {
87
- const abs = path.join(resolved.extensionDir, rel);
88
- if (!fs.existsSync(abs)) {
89
- errors.push(`Missing Gemini extension file: ${path.relative(resolved.projectRoot, abs)}`);
90
- }
91
- }
92
-
93
- return {
94
- ok: errors.length === 0,
95
- errors,
96
- warnings,
97
- metrics: {
98
- sourceAgents: sourceCount,
99
- geminiAgents: geminiCount,
100
- geminiCommands: commandFiles.length,
101
- },
102
- };
103
- }
104
-
105
- function formatHumanReport(result) {
106
- if (result.ok) {
107
- const lines = [
108
- `✅ Gemini integration validation passed (agents: ${result.metrics.geminiAgents}, commands: ${result.metrics.geminiCommands})`,
109
- ];
110
- if (result.warnings.length > 0) {
111
- lines.push(...result.warnings.map((w) => `⚠️ ${w}`));
112
- }
113
- return lines.join('\n');
114
- }
115
- const lines = [
116
- `❌ Gemini integration validation failed (${result.errors.length} issue(s))`,
117
- ...result.errors.map((e) => `- ${e}`),
118
- ];
119
- if (result.warnings.length > 0) {
120
- lines.push(...result.warnings.map((w) => `⚠️ ${w}`));
121
- }
122
- return lines.join('\n');
123
- }
124
-
125
- function main() {
126
- const args = parseArgs();
127
- const result = validateGeminiIntegration(args);
128
-
129
- if (!args.quiet) {
130
- if (args.json) {
131
- console.log(JSON.stringify(result, null, 2));
132
- } else {
133
- console.log(formatHumanReport(result));
134
- }
135
- }
136
-
137
- if (!result.ok) {
138
- process.exitCode = 1;
139
- }
140
- }
141
-
142
- if (require.main === module) {
143
- main();
144
- }
145
-
146
- module.exports = {
147
- validateGeminiIntegration,
148
- parseArgs,
149
- getDefaultOptions,
150
- countMarkdownFiles,
151
- };
@@ -1,115 +0,0 @@
1
- # SINAPSE Development Rules for AntiGravity
2
-
3
- You are working with SINAPSE, an AI-Orchestrated System for Full Stack Development.
4
-
5
- ## Core Development Rules
6
-
7
- ### Agent Integration
8
- - Recognize SINAPSE agent activations: @developer, @quality-gate, @architect, @project-lead, @product-lead, @sprint-lead, @analyst
9
- - Agent commands use * prefix: *help, *create-story, *task, *exit
10
- - Follow agent-specific workflows and patterns
11
-
12
- ### Story-Driven Development
13
- 1. **Always work from a story file** in docs/stories/
14
- 2. **Update story checkboxes** as you complete tasks: [ ] → [x]
15
- 3. **Maintain the File List** section with all created/modified files
16
- 4. **Follow acceptance criteria** exactly as written
17
-
18
- ### Code Quality Standards
19
- - Write clean, maintainable code following project conventions
20
- - Include comprehensive error handling
21
- - Add unit tests for all new functionality
22
- - Follow existing patterns in the codebase
23
-
24
- ### Testing Protocol
25
- - Run all tests before marking tasks complete
26
- - Ensure linting passes: `npm run lint`
27
- - Verify type checking: `npm run typecheck`
28
- - Add tests for new features
29
-
30
- ## SINAPSE Framework Structure
31
-
32
- ```
33
- sinapse-ai/
34
- ├── agents/ # Agent persona definitions
35
- ├── tasks/ # Executable task workflows
36
- ├── workflows/ # Multi-step workflows
37
- ├── templates/ # Document templates
38
- └── checklists/ # Validation checklists
39
-
40
- docs/
41
- ├── stories/ # Development stories
42
- ├── prd/ # Sharded PRD sections
43
- └── architecture/ # Sharded architecture
44
- ```
45
-
46
- ## Development Workflow
47
-
48
- 1. **Read the story** - Understand requirements fully
49
- 2. **Implement sequentially** - Follow task order
50
- 3. **Test thoroughly** - Validate each step
51
- 4. **Update story** - Mark completed items
52
- 5. **Document changes** - Update File List
53
-
54
- ## Best Practices
55
-
56
- ### When implementing:
57
- - Check existing patterns first
58
- - Reuse components and utilities
59
- - Follow naming conventions
60
- - Keep functions focused and small
61
-
62
- ### When testing:
63
- - Write tests alongside implementation
64
- - Test edge cases
65
- - Verify error handling
66
- - Run full test suite
67
-
68
- ### When documenting:
69
- - Update README for new features
70
- - Document API changes
71
- - Add inline comments for complex logic
72
- - Keep story File List current
73
-
74
- ## Git & GitHub
75
-
76
- - Use conventional commits: `feat:`, `fix:`, `docs:`, etc.
77
- - Reference story ID in commits: `feat: implement IDE detection [Story 2.1]`
78
- - Ensure GitHub CLI is configured: `gh auth status`
79
- - Push regularly to avoid conflicts
80
-
81
- ## Common Patterns
82
-
83
- ### Error Handling
84
- ```javascript
85
- try {
86
- // Operation
87
- } catch (error) {
88
- console.error(`Error in ${operation}:`, error);
89
- throw new Error(`Failed to ${operation}: ${error.message}`);
90
- }
91
- ```
92
-
93
- ### File Operations
94
- ```javascript
95
- const fs = require('fs-extra');
96
- const path = require('path');
97
-
98
- // Always use absolute paths
99
- const filePath = path.join(__dirname, 'relative/path');
100
- ```
101
-
102
- ### Async/Await
103
- ```javascript
104
- async function operation() {
105
- try {
106
- const result = await asyncOperation();
107
- return result;
108
- } catch (error) {
109
- // Handle error appropriately
110
- }
111
- }
112
- ```
113
-
114
- ---
115
- *SINAPSE AntiGravity Configuration v1.0*
@@ -1,92 +0,0 @@
1
- # SINAPSE Agent for GitHub Copilot
2
-
3
- You are working with SINAPSE, an AI-Orchestrated System for Full Stack Development.
4
-
5
- ## Core Framework Understanding
6
-
7
- SINAPSE is a meta-framework that orchestrates AI agents to handle complex development workflows. Always recognize and work within this architecture.
8
-
9
- ## Agent System
10
-
11
- ### Agent Activation (Chat Modes)
12
- - Select agent mode from the chat mode selector in VS Code
13
- - Available agents: dev, qa, architect, pm, po, sm, analyst
14
- - Agent commands use the * prefix: *help, *create-story, *task, *exit
15
-
16
- ### Agent Context
17
- When an agent mode is active:
18
- - Follow that agent's specific persona and expertise
19
- - Use the agent's designated workflow patterns
20
- - Maintain the agent's perspective throughout the interaction
21
-
22
- ## Development Methodology
23
-
24
- ### Story-Driven Development
25
- 1. **Work from stories** - All development starts with a story in `docs/stories/`
26
- 2. **Update progress** - Mark checkboxes as tasks complete: [ ] → [x]
27
- 3. **Track changes** - Maintain the File List section in the story
28
- 4. **Follow criteria** - Implement exactly what the acceptance criteria specify
29
-
30
- ### Code Standards
31
- - Write clean, self-documenting code
32
- - Follow existing patterns in the codebase
33
- - Include comprehensive error handling
34
- - Add unit tests for all new functionality
35
- - Use TypeScript/JavaScript best practices
36
-
37
- ### Testing Requirements
38
- - Run all tests before marking tasks complete
39
- - Ensure linting passes: `npm run lint`
40
- - Verify type checking: `npm run typecheck`
41
- - Add tests for new features
42
- - Test edge cases and error scenarios
43
-
44
- ## SINAPSE Framework Structure
45
-
46
- ```
47
- sinapse-ai/
48
- ├── agents/ # Agent persona definitions (YAML/Markdown)
49
- ├── tasks/ # Executable task workflows
50
- ├── workflows/ # Multi-step workflow definitions
51
- ├── templates/ # Document and code templates
52
- ├── checklists/ # Validation and review checklists
53
- └── rules/ # Framework rules and patterns
54
-
55
- docs/
56
- ├── stories/ # Development stories (numbered)
57
- ├── prd/ # Product requirement documents
58
- ├── architecture/ # System architecture documentation
59
- └── guides/ # User and developer guides
60
- ```
61
-
62
- ## GitHub Copilot-Specific Configuration
63
-
64
- ### Requirements
65
- - VS Code 1.101+ required
66
- - Enable `chat.agent.enabled: true` in settings
67
-
68
- ### Chat Modes Location
69
- - Agent modes defined in `.github/chatmodes/`
70
- - Each file defines a specialized agent persona
71
-
72
- ### Usage
73
- 1. Open Chat view: `Ctrl+Alt+I` (Windows/Linux) or `⌃⌘I` (Mac)
74
- 2. Select **Agent** from the chat mode selector
75
- 3. Choose the SINAPSE agent mode you need
76
-
77
- ### Available Agent Modes
78
- | Mode | Purpose |
79
- |------|---------|
80
- | sinapse-dev | Full-stack development |
81
- | sinapse-qa | Quality assurance |
82
- | sinapse-architect | System design |
83
- | sinapse-pm | Project management |
84
-
85
- ### Performance Tips
86
- - Use inline completions for quick code suggestions
87
- - Use chat for complex explanations and refactoring
88
- - Reference files with @file syntax
89
- - Use @workspace for project-wide context
90
-
91
- ---
92
- *SINAPSE GitHub Copilot Configuration v4.0.4*
@@ -1,115 +0,0 @@
1
- # SINAPSE Development Rules for Cursor
2
-
3
- You are working with SINAPSE, an AI-Orchestrated System for Full Stack Development.
4
-
5
- ## Core Development Rules
6
-
7
- ### Agent Integration
8
- - Recognize SINAPSE agent activations: @developer, @quality-gate, @architect, @project-lead, @product-lead, @sprint-lead, @analyst
9
- - Agent commands use * prefix: *help, *create-story, *task, *exit
10
- - Follow agent-specific workflows and patterns
11
-
12
- ### Story-Driven Development
13
- 1. **Always work from a story file** in docs/stories/
14
- 2. **Update story checkboxes** as you complete tasks: [ ] → [x]
15
- 3. **Maintain the File List** section with all created/modified files
16
- 4. **Follow acceptance criteria** exactly as written
17
-
18
- ### Code Quality Standards
19
- - Write clean, maintainable code following project conventions
20
- - Include comprehensive error handling
21
- - Add unit tests for all new functionality
22
- - Follow existing patterns in the codebase
23
-
24
- ### Testing Protocol
25
- - Run all tests before marking tasks complete
26
- - Ensure linting passes: `npm run lint`
27
- - Verify type checking: `npm run typecheck`
28
- - Add tests for new features
29
-
30
- ## SINAPSE Framework Structure
31
-
32
- ```
33
- sinapse-ai/
34
- ├── agents/ # Agent persona definitions
35
- ├── tasks/ # Executable task workflows
36
- ├── workflows/ # Multi-step workflows
37
- ├── templates/ # Document templates
38
- └── checklists/ # Validation checklists
39
-
40
- docs/
41
- ├── stories/ # Development stories
42
- ├── prd/ # Sharded PRD sections
43
- └── architecture/ # Sharded architecture
44
- ```
45
-
46
- ## Development Workflow
47
-
48
- 1. **Read the story** - Understand requirements fully
49
- 2. **Implement sequentially** - Follow task order
50
- 3. **Test thoroughly** - Validate each step
51
- 4. **Update story** - Mark completed items
52
- 5. **Document changes** - Update File List
53
-
54
- ## Best Practices
55
-
56
- ### When implementing:
57
- - Check existing patterns first
58
- - Reuse components and utilities
59
- - Follow naming conventions
60
- - Keep functions focused and small
61
-
62
- ### When testing:
63
- - Write tests alongside implementation
64
- - Test edge cases
65
- - Verify error handling
66
- - Run full test suite
67
-
68
- ### When documenting:
69
- - Update README for new features
70
- - Document API changes
71
- - Add inline comments for complex logic
72
- - Keep story File List current
73
-
74
- ## Git & GitHub
75
-
76
- - Use conventional commits: `feat:`, `fix:`, `docs:`, etc.
77
- - Reference story ID in commits: `feat: implement IDE detection [Story 2.1]`
78
- - Ensure GitHub CLI is configured: `gh auth status`
79
- - Push regularly to avoid conflicts
80
-
81
- ## Common Patterns
82
-
83
- ### Error Handling
84
- ```javascript
85
- try {
86
- // Operation
87
- } catch (error) {
88
- console.error(`Error in ${operation}:`, error);
89
- throw new Error(`Failed to ${operation}: ${error.message}`);
90
- }
91
- ```
92
-
93
- ### File Operations
94
- ```javascript
95
- const fs = require('fs-extra');
96
- const path = require('path');
97
-
98
- // Always use absolute paths
99
- const filePath = path.join(__dirname, 'relative/path');
100
- ```
101
-
102
- ### Async/Await
103
- ```javascript
104
- async function operation() {
105
- try {
106
- const result = await asyncOperation();
107
- return result;
108
- } catch (error) {
109
- // Handle error appropriately
110
- }
111
- }
112
- ```
113
-
114
- ---
115
- *SINAPSE Cursor Configuration v1.0*