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+
2558var 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 ("\n Created .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 ("\n What 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