generating-julia-package
Use when you create a JuliaLang package
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when you create a JuliaLang package
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when you run tests
Use when you need the latest stable JuliaLang version number (e.g., to fill `VERSION=` in an install script) instead of hard-coding a value
Use when your machine does not have JuliaLang runtime
Use when you write a Julia package
Use when you create a CLI written in Julia packages or MCP servers
Use when you add tests for Julia packages
| name | generating-julia-package |
| description | Use when you create a JuliaLang package |
If you want to create a simple script that depends on external libraries, you should create a "project environment". This means making a Project.toml file like the one below.
[deps]
"<Installed Package 1>" = "<UUID for Installed Package 1>"
"<Installed Package 2>" = "<UUID for Installed Package 2>"
"<Installed Package 3>" = "<UUID for Installed Package 3>"
To install an external library (for example, TargetPackage), run the following in your terminal:
julia --project -e 'using Pkg; Pkg.add("TargetPackage")'
If you want to create a reusable package or a larger scale script, you should create a "package directory".
Default: in-place layout. Create ./Project.toml and ./src/MyPkg.jl directly in the current working directory, with no subdirectory named after the package. Use this whenever the user asks to "create a package MyPkg" without further qualification.
Opt-in: subdirectory layout. Only use this when the user explicitly asks for a subdirectory — for example "create the package under a new directory", "サブディレクトリを作って", "MyPkg/ 配下に作って", or when the user is bootstrapping multiple packages side by side under a single workspace and a subdirectory is necessary to disambiguate them.
Do NOT use Pkg.generate("MyPkg") for the in-place layout — it always creates a subdirectory. The in-place layout is the default and must be produced by hand-writing the files (see the steps below).
To create Project.toml and src/MyPkg.jl directly in the current working directory:
Generate a UUID for the uuid field of Project.toml:
$ julia -E 'using UUIDs; string(uuid4())'
"43d6671a-6eab-408d-9ef9-8f584d9146fb" # Example output.
Write ./Project.toml with the package name and the UUID from step 1:
name = "MyPkg"
uuid = "43d6671a-6eab-408d-9ef9-8f584d9146fb"
authors = ["Your Name <you@example.com>"]
version = "0.1.0"
Write ./src/MyPkg.jl with the module skeleton:
module MyPkg
greet() = "Hello"
end # module MyPkg
Verify by loading the package from the current directory:
$ julia --project=. -e 'using MyPkg; println(MyPkg.greet())'
Only use this when the user explicitly asks for it. To create a package named MyPkg under a new subdirectory, run:
$ julia -e 'using Pkg; Pkg.generate("MyPkg")'
This will create:
$ tree
.
└── MyPkg
├── Project.toml
└── src
└── MyPkg.jl
3 directories, 2 files