Skip to content

Commit 8e10844

Browse files
committed
add CLAUDE.md for AI consumption and direction
1 parent 13a56cc commit 8e10844

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

CLAUDE.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Building wolfCrypt JNI/JCE (wolfcryptjni)
2+
- If on Linux "cp makefile.linux makefile", if on macOS "cp makefile.macosx makefile"
3+
- To build the native JNI shared library run "make"
4+
- To build the Java JAR library and examples run "ant build-jce-debug"
5+
6+
# Running JUnit tests
7+
- To run JUnit tests run "ant test"
8+
- All tests should pass without problems
9+
10+
# Code Style
11+
- Keep lines under 80 characters maximum length
12+
- MUST only use multi-line comments, no "//" style ones
13+
- MUST remove all trailing white space
14+
- Use 4 spaces for one tab, no hard tabs
15+
16+
# Source Code Organization
17+
- The source code is organized into the following directories:
18+
+ jni: JNI source files
19+
+ jni/include: JNI header files
20+
+ src/main/java: Java source code
21+
+ src/main/java/com/wolfssl/wolfcrypt: com.wolfssl.wolfcrypt package JNI layer source code
22+
+ src/main/java/com/wolfssl/provider/jce: com.wolfssl.provider.jce package wolfCrypt JCE provider source code
23+
+ src/test: JUnit test code
24+
+ src/test/java/com/wolfssl/wolfcrypt/test: com.wolfssl.wolfcrypt thin JNI wrapper JUnit test code
25+
+ src/test/java/com/wolfssl/provider/jce/test: com.wolfssl.provider.jce wolfCrypt JCE provider JUnit test code
26+
+ build.xml: Ant build file
27+
+ pom.xml: Maven build file
28+
+ docs: Documentation files
29+
+ docs/design: Design files
30+
+ docs/javadoc: Generated Javadoc file location
31+
+ scripts/infer.sh: Script to run Facebook Infer static analysis
32+
+ IDE/Android: Android Studio example project files
33+
+ IDE/WIN: Visual Studio solution file
34+
+ examples: examples directory
35+
36+
# Workflow
37+
- Make sure package compiles and all JUnit tests pass when you are making code changes
38+
- Maintain minimum Java compatibility down to Java 8
39+
40+
# Example Code Guidelines for Writing New Code
41+
- All examples are placed under the "examples" directory
42+
- Directory "examples" contains JNI-level examples
43+
- Directory "examples/provider" contains JCE-level examples
44+
- All examples should have two files:
45+
+ Example.java: Java source code
46+
+ Example.sh: Shell script to run the example
47+
- Examples will be run from the root directory
48+
- Example .jks files are located under "examples/certs"
49+
- Example .wk files are located under "examples/certs"
50+
- Example .jks files are updated using the update-jks-wks.sh script

0 commit comments

Comments
 (0)