Skip to content

Commit 47fb0a9

Browse files
authored
Merge pull request #163 from engalar/feat/gitignore-init
feat: generate .gitignore for Mendix projects during init
2 parents c97c85b + 2a99446 commit 47fb0a9

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

cmd/mxcli/init.go

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,39 @@ var (
2222
initContainerRuntime string
2323
)
2424

25+
const mendixGitignore = `# Mendix project
26+
/**/node_modules/
27+
!/javascriptsource/**/node_modules/
28+
/*.launch
29+
/.classpath
30+
/.mendix-cache/
31+
/.project
32+
/deployment/
33+
/javasource/*/proxies/
34+
/javasource/system/
35+
/modeler-merge-marker
36+
/nativemobile/builds/
37+
/packages/
38+
/project-settings.user.json
39+
/releases/
40+
*.mpr.lock
41+
*.mpr.bak
42+
/vendorlib/temp/
43+
/.svn/
44+
45+
# MPR v2 journal files
46+
/mprcontents/mprjournal*
47+
48+
# OS
49+
.DS_Store
50+
51+
# mxcli
52+
.claude/settings.local.json
53+
mxcli
54+
mxcli.exe
55+
.mxcli/
56+
`
57+
2558
var initCmd = &cobra.Command{
2659
Use: "init [project-directory]",
2760
Short: "Initialize a Mendix project for AI-assisted development",
@@ -471,6 +504,16 @@ Container Runtime:
471504
}
472505
}
473506

507+
// Create .gitignore if it doesn't exist
508+
gitignorePath := filepath.Join(absDir, ".gitignore")
509+
if _, err := os.Stat(gitignorePath); os.IsNotExist(err) {
510+
if err := os.WriteFile(gitignorePath, []byte(mendixGitignore), 0644); err != nil {
511+
fmt.Fprintf(os.Stderr, " Error writing .gitignore: %v\n", err)
512+
} else {
513+
fmt.Println("\nCreated .gitignore")
514+
}
515+
}
516+
474517
// Create .playwright/cli.config.json for playwright-cli
475518
playwrightDir := filepath.Join(absDir, ".playwright")
476519
playwrightConfig := filepath.Join(playwrightDir, "cli.config.json")
@@ -494,6 +537,7 @@ Container Runtime:
494537

495538
fmt.Println("\n✓ Initialization complete!")
496539
fmt.Println("\nWhat was created:")
540+
fmt.Println(" • .gitignore - Mendix project ignore patterns")
497541
fmt.Println(" • AGENTS.md - Universal AI assistant guide")
498542
fmt.Println(" • .ai-context/skills/ - MDL pattern guides")
499543
fmt.Println(" • .devcontainer/ - Dev container configuration")

0 commit comments

Comments
 (0)