The Unified and Autonomous Development Platform
# Project Instructions
Do not add `Co-authored-by:` or other co-author / AI attribution footers to
commit messages unless the user explicitly asks for them. If such a trailer is
injected into a commit you just created (and it is not pushed), rewrite the
commit message to remove it before finishing.
Never modify generated translation files, including any `Translation_*.java`
files and files under
`server-core/src/main/java/io/onedev/server/web/translation/`. Translation
files are generated automatically.
Do not add tests for trivial or minor changes unless the user explicitly asks
for them.
Prefer field injection over constructor injection wherever possible for
`@Singleton` services and Wicket components/pages.
Users may continue privileged work in an existing session after their
privileges are revoked. Revoked privileges must be denied in a new session.
Do not report continued access within the existing session as a security bug
or require immediate revocation within that session.
For local development, start the OneDev server with `./dev.sh run` from the
repository root. The server can hot-load changed classes. Use `./dev.sh build`
to compile them; the first run performs a full compile, while subsequent runs
compile only the changes. Watch the server console for reload errors and
restart the server if one occurs.
If you start the development server for a task, stop it with `./dev.sh stop`
when the task is finished.