Skip to content

Commit 335bb29

Browse files
balzssclaude
andcommitted
docs(many): add Claude Code configuration and documentation
Add comprehensive AI assistant support: - CLAUDE.md with repository structure, workflows, and conventions - .claudeignore to optimize Claude Code performance - .gitignore entries for AI tool artifacts - Updated ai-features.md to reference CLAUDE.md - inst-ai.config.mjs for inst-ai integration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 93f129b commit 335bb29

File tree

10 files changed

+1243
-0
lines changed

10 files changed

+1243
-0
lines changed

.claudeignore

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Build outputs
5+
coverage/
6+
__build__/
7+
.tmp/
8+
packages/*/lib/
9+
packages/__docs__/__build__/
10+
11+
# Git
12+
.git/
13+
14+
# Logs and build info
15+
*.log
16+
*.tsbuildinfo
17+
lerna-debug.log
18+
npm-debug.log
19+
20+
# Test artifacts
21+
regression-test/node_modules/
22+
packages/*/node_modules/
23+
24+
# Images and binary files
25+
*.png
26+
*.jpg
27+
*.jpeg
28+
*.gif
29+
*.svg
30+
*.woff
31+
*.woff2
32+
*.ttf
33+
*.eot
34+
full_logo.png
35+
logo.png
36+
37+
# Large changelog
38+
CHANGELOG.md
39+
40+
# Editor and system files
41+
.vscode/
42+
.idea/
43+
.DS_Store

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,12 @@ __build__
1717
tsconfig.build.tsbuildinfo
1818

1919
.pnp.*
20+
21+
# AI/LLM tool artifacts (Copilot & Claude)
22+
.copilot/
23+
.inst-ai/sessions
24+
25+
# Claude Code specific
26+
.claude/settings.local.json
27+
.claude/cache/
28+
.claude/*.local.*

.inst-ai/templates/jira/README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Jira Templates
2+
3+
This directory contains prompt templates for generating Jira tickets from Slack conversations.
4+
5+
## Template Types
6+
7+
### Bug Report Templates
8+
- `bug-report.extraction.md` - Extracts structured data from bug report conversations
9+
- `bug-report.generation.md` - Generates final Jira ticket content for bugs
10+
11+
### Feature Request Templates
12+
- `feature-request.extraction.md` - Extracts structured data from feature request conversations
13+
- `feature-request.generation.md` - Generates final Jira ticket content for features
14+
15+
## Template Variables
16+
17+
Templates use `{{VARIABLE_NAME}}` syntax for variable substitution:
18+
19+
- `{{CONVERSATION_CONTENT}}` - The full Slack conversation text
20+
- `{{EXTRACTED_DATA}}` - JSON-formatted extracted data from the conversation
21+
22+
## Customizing Templates
23+
24+
You can override default templates by configuring custom template paths in your `inst-ai.config.js`:
25+
26+
```javascript
27+
export const config = {
28+
jira: {
29+
customTemplates: {
30+
bugReport: {
31+
extraction: './my-templates/custom-bug-extraction.md',
32+
generation: './my-templates/custom-bug-generation.md'
33+
},
34+
featureRequest: {
35+
extraction: './my-templates/custom-feature-extraction.md',
36+
generation: './my-templates/custom-feature-generation.md'
37+
}
38+
}
39+
}
40+
}
41+
```
42+
43+
## Template Format
44+
45+
Templates should be valid Markdown files with embedded prompts for the AI model. The AI will process the template content and generate responses in the expected format (JSON for extraction, ADF JSON for generation).
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Bug Report Extraction Template
2+
3+
**Task:** Analyze the conversation and extract entities into a JSON object. Use `null` for missing values.
4+
5+
**Entities:**
6+
- `component_name`: string | null - The name of the UI component or module mentioned
7+
- `browser_name`: string | null - Browser where the issue occurs (e.g., "Chrome", "Firefox", "Safari")
8+
- `os_name`: string | null - Operating system where the issue occurs (e.g., "macOS", "Windows", "Linux")
9+
- `instui_version`: string | null - InstUI version (e.g., "8.51.0", "v8.51.0"). Look for @instructure/ui-* package versions in package.json, version mentions in conversation, or CodeSandbox dependencies
10+
- `summary_of_bug`: string - Brief description of the bug
11+
- `reporter_name`: string - Name of the person reporting the bug
12+
- `environment_text`: string | null - Additional environment details
13+
- `steps_to_reproduce`: array | null - List of steps to reproduce the issue
14+
- `expected_behavior`: string | null - What should happen
15+
- `actual_behavior`: string | null - What actually happens
16+
- `workaround`: string | null - Any workarounds mentioned
17+
18+
**Conversation:**
19+
{{CONVERSATION_CONTENT}}
20+
21+
**JSON Output:**
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Bug Report Generation Template
2+
3+
**Persona:** Expert Technical Writer creating a developer-ready bug report for Jira.
4+
5+
**Task:** Use the `CONTEXT` to generate a JSON object with a `summary` and an ADF `description`.
6+
7+
**Requirements:**
8+
- The `summary` must be: `Fix: [<Component Name>] <Brief problem description>`. Use the component_name from extracted data if available, otherwise use a generic name based on the affected area.
9+
- The `description` must be a valid Atlassian Document Format (ADF) JSON object.
10+
- Include all relevant technical details from the context.
11+
- Structure the description with clear sections: Problem, Environment, Steps, Expected/Actual behavior.
12+
- If component_paths are available, create an "Affected Components" section:
13+
- Add a heading (type: "heading", attrs: {level: 3}) with text "Component Paths:"
14+
- Follow immediately with paragraph(s) containing ONLY the file paths, one per paragraph
15+
- Example: If paths are ["packages/ui-button/src/index.tsx"], create a paragraph with just that text
16+
- Do NOT add bullets, lists, or code blocks - just plain paragraph text with the paths
17+
- Always include a "Context Links" section with:
18+
- Slack thread URL (if slack_thread_url is available) as a clickable link
19+
- CodeSandbox URLs (if codesandbox_urls are available) as clickable links
20+
- End with a disclaimer paragraph in italics: "This ticket was automatically generated with AI assistance from conversation data. Please review and update as needed."
21+
22+
**CONTEXT:**
23+
{{EXTRACTED_DATA}}
24+
25+
**Your Turn (Use the CONTEXT provided above):**
26+
**IMPORTANT:** Return ONLY valid JSON. Every property must be followed by a comma except the last one in an object or array. Double-check all commas before responding.
27+
**Output JSON:**
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Feature Request Extraction Template
2+
3+
**Task:** Analyze the conversation and extract entities into a JSON object. Use `null` for missing values.
4+
5+
**Entities:**
6+
- `feature_name`: string | null - The name of the requested feature
7+
- `requestor_name`: string - Name of the person requesting the feature
8+
- `business_justification`: string | null - Why this feature is needed
9+
- `proposed_solution`: string | null - How the feature should work
10+
- `affected_components`: array | null - Components that would be affected
11+
- `priority_level`: string | null - Urgency or priority mentioned
12+
- `success_criteria`: string | null - How to measure success
13+
- `alternative_solutions`: array | null - Other approaches considered
14+
15+
**Conversation:**
16+
{{CONVERSATION_CONTENT}}
17+
18+
**JSON Output:**
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Feature Request Generation Template
2+
3+
**Persona:** Product Manager creating a comprehensive feature request for Jira.
4+
5+
**Task:** Use the `CONTEXT` to generate a JSON object with a `summary` and an ADF `description`.
6+
7+
**Requirements:**
8+
- The `summary` must be: `Feature: [<Component/Area Name>] <Brief description>`. Use the feature_name or affected_components from extracted data if available, otherwise use a generic name based on the affected area.
9+
- The `description` must be a valid Atlassian Document Format (ADF) JSON object.
10+
- Include business justification, proposed solution, and success criteria.
11+
- Structure the description with clear sections: Overview, Business Case, Requirements, Acceptance Criteria.
12+
- If component_paths are available, create an "Affected Components" section:
13+
- Add a heading (type: "heading", attrs: {level: 3}) with text "Component Paths:"
14+
- Follow immediately with paragraph(s) containing ONLY the file paths, one per paragraph
15+
- Example: If paths are ["packages/ui-button/src/index.tsx"], create a paragraph with just that text
16+
- Do NOT add bullets, lists, or code blocks - just plain paragraph text with the paths
17+
- Always include a "Context Links" section with:
18+
- Slack thread URL (if slack_thread_url is available) as a clickable link
19+
- CodeSandbox URLs (if codesandbox_urls are available) as clickable links
20+
- End with a disclaimer paragraph in italics: "This ticket was automatically generated with AI assistance from conversation data. Please review and update as needed."
21+
22+
**CONTEXT:**
23+
{{EXTRACTED_DATA}}
24+
25+
**Your Turn (Use the CONTEXT provided above):**
26+
**IMPORTANT:** Return ONLY valid JSON. Every property must be followed by a comma except the last one in an object or array. Double-check all commas before responding.
27+
**Output JSON:**

0 commit comments

Comments
 (0)