It all depends...
luatex is a two-language system and a lualatex package can use either language.
You could write a package written just as a classic latex package but using some of the extended tex commands available in luatex, such as \umathchar etc.
You could write code that is almost all Lua, with just a very thin TeX wrapper mypackage.sty that just does \directlua{require("mypackage")} (luaotfload comes to mind)
There isn't really a lot in common between these kinds of packages other than that the end user doesn't necessarily need to know anything about the implementation language, and can just do
\usepackage{mypackage}
In one case, The coding practices are just as in classic TeX, in the other case, the coding practices are those of Lua (mostly).
.styand a direct.luapackage. – Mar 01 '15 at 10:51.luacode packages are included within an importing.styfile, most times having the same basename, i.e.foo.styimportsfoo.lua, but I am not an expert in luatex, others should provide more profound answers – Mar 01 '15 at 10:55